0

我正在分叉一堆进程,我想为我的主要原始进程创建一个“屏障”,以等待所有其他进程完成。代码流如下所示:

#...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 环境中有什么可用的。也许像主线程的障碍?

谢谢你的帮助。

4

1 回答 1

2

裸机wait将等待所有子进程退出。

等待:等待 [n]

等待指定进程并报告其终止状态。如果没有给出 N,则等待所有当前活动的子进程,返回码为零。 N 可以是进程 ID 或作业规范;如果给出了作业规范,则等待作业管道中的所有进程。

于 2012-10-24T23:46:25.330 回答