我正在分离一堆进程,我想为我的主要原始进程创建一个“障碍”,等待所有其他进程完成。代码流如下所示:
#...the main thread is executing now, and reaches this foreach loop:
foreach arg (myArgs)
some_command arg & #these are the processes being forked off
end
#I want the main thread to WAIT here until all the above processes finish!
#... More code below here for the main thread to continue with
我不确定我想要什么同步原语,甚至不确定unix shell环境中可用的同步原语。也许像主线程的障碍?
感谢您的帮助。
答案 0 :(得分:2)
裸wait
将等待所有子进程退出。
等待:等待[n]
等待指定的进程并报告其终止状态。 如果 没有给出N,所有当前活动的子进程都在等待, 并且返回码为零。 N可以是进程ID或作业 规格;如果给出了工作规范,那么工作中的所有流程都是如此 管道等待。