(bash)for循环中程序的顺序运行

时间:2019-04-04 08:53:22

标签: bash for-loop parallel-processing

这个问题已经提出了好几次,我只是想确定一下。我想在不同的输入文件上多次运行同一程序。不幸的是,在并行运行时,大多数运行都会崩溃(我怀疑临时文件名或类似名称之间会发生冲突)。因此,我想按顺序运行它们,同时试图找出更好的解决方案。

并行循环为:

N=5
(
for run in my_folders*
do
    ((i=i%N)); ((i++==0)) && wait
    myprogram --arg1=$run --arg_2 &
done
)

如果我这样运行:

for run in my_folders*
do
    my_program --arg1=$run -o
done

每次迭代都会等待上一次迭代结束吗?

谢谢。

0 个答案:

没有答案