Bash本身不支持线程,但是您可以在后台启动多个Java进程,例如:
java myprog &java myprog &java myprog &
除了具有线程管理实用程序的Python或Ruby之外,您还可以等待其他每一个完成并收集输出/退出状态等。
编辑 :从@CédricJulien借用建议
wait,这是一个更详尽的示例。鉴于此
MyProg.java程序:
public class MyProg { public static void main(String[] args) { System.exit(Integer.parseInt(args[0])); }}您可以编写以下
bash-threads.sh脚本来并行启动该脚本的多个实例:
#!/bin/bashset -o errexitjava MyProg 1 &pid1=$!java MyProg 0 &pid2=$!java MyProg 2 &pid3=$!wait $pid1 && echo "pid1 exited normally" || echo "pid1 exited abnormally with status $?"wait $pid2 && echo "pid2 exited normally" || echo "pid2 exited abnormally with status $?"wait $pid3 && echo "pid3 exited normally" || echo "pid3 exited abnormally with status $?"
其输出为:
pid1 exited abnormally with status 1pid2 exited normallypid3 exited abnormally with status 2



