Shell,并行运行四个进程

Dan*_*iel 1 unix shell ubuntu

目前,我一直在努力有效地运行耗时的模拟.目的是并行运行4个模拟,因为它是单线程应用程序和四核系统.我必须改变shell脚本:

./sim -r 1 &
./sim -r 2 &
./sim -r 3 &
./sim -r 4 &
wait
./sim -r 5 &
./sim -r 6 &
./sim -r 7 &
./sim -r 8 &
wait
... (another 112 jobs) 
Run Code Online (Sandbox Code Playgroud)

这段代码有一次又一次的等待.我还尝试将任务分成四个脚本并运行每个脚本,结果是一个脚本完成而另一个脚本剩余约30%.我无法预测模拟需要多长时间.

有任何建议可以随时运行4个模拟吗?

pob*_*key 5

moreutils在Ubuntu中安装软件包,然后使用该parallel实用程序:

parallel -j 4 ./sim -r -- 1 2 3 4 5 6 7 8 ...
Run Code Online (Sandbox Code Playgroud)