我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用wait函数。
默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。
而以子进程的pid作为参数调用wait时,wait便能够返回该子进程的退出状态了。
默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。
而以子进程的pid作为参数调用wait时,wait便能够返回该子进程的退出状态了。
具体操作如下:
function sub_shell()
{
var=`expr $1 \* $var`
echo "in var = $var"
return $var
}
i=0
var=10
for i in `seq 10`; do
sub_shell $i &
done
for pid in $(jobs -p); do
wait $pid
echo "return var = $?"
done
echo "all done"这里我们借助了“jobs -p“来获得所有后台进程的pid。
本文介绍了一种在Shell脚本中将进程置于后台运行的方法,并演示了如何使用wait函数来获取这些后台进程的退出状态。通过实例展示了如何创建子进程并将其置于后台,以及如何利用jobs-p命令获取所有后台进程的PID。
3919

被折叠的 条评论
为什么被折叠?



