【发布时间】:2018-01-13 06:06:30
【问题描述】:
我不想使用wait 来一般地等待所有后台进程完成,而是要为我正在运行的每个后台进程执行wait %1、wait %2 等。
我不知道我的脚本会产生多少后台进程,所以我不知道如何确定我需要发出多少 wait 语句。
如何确定我的脚本生成了多少后台进程,然后为每个后台进程“i”分配一个wait %i?
【问题讨论】:
我不想使用wait 来一般地等待所有后台进程完成,而是要为我正在运行的每个后台进程执行wait %1、wait %2 等。
我不知道我的脚本会产生多少后台进程,所以我不知道如何确定我需要发出多少 wait 语句。
如何确定我的脚本生成了多少后台进程,然后为每个后台进程“i”分配一个wait %i?
【问题讨论】:
您可以通过这种方式获取子 PID 列表:
pgrep -P $$
然后,等待每个 PID:
for pid in $(pgrep -P $$); do
wait $pid
done
【讨论】: