如何确定bash中运行的后台进程数量,并为每个后台进程“等待”?

时间:2018-01-13 06:06:31

标签: bash process

我不想让wait一般等待所有后台进程完成,而是为我运行的每个后台进程执行wait %1wait %2等操作。

我不知道我的脚本会产生多少后台进程,所以我不知道如何确定需要发出多少wait个语句。

如何为每个后台进程“i”确定我的脚本产生了多少后台进程,然后为每个后台进程分配wait %i

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式获取子PID列表:

pgrep -P $$

然后,等待每个PID:

for pid in $(pgrep -P $$); do
    wait $pid
done