Shell脚本 - “等待”不等待所有进程完成

时间:2017-10-13 07:34:19

标签: bash shell docker parallel-processing wait

在shell脚本中我正在构建一些docker镜像(在后台),一旦完成我正在运行它们(在后台)然后我必须等待所有这些完成。代码如下所示:

for tag in "${tags[@]}"
do
    docker build -f dockerFilePath -t $tag . &
done

wait

for tag in "${tags[@]}"
do 
    docker run $tag arg1 arg2 | tee logoutput &
done

wait

问题是并非第二个等待部分中的所有docker run命令都能够完成。 docker run命令需要不同的时间才能完成,其中任何一个命令总是不完整的(总共4个)。

另外,我读到等待仅适用于调用wait的进程的直接子进程,在这种情况下,我认为所有docker build和docker run命令都是脚本进程的直接子进程。或者这是错误的假设?

0 个答案:

没有答案