Shell 脚本:子进程不会在 linux 中终止

use*_*867 4 multiprocessing shell-scripting

我写了一个shell脚本来同时启动三个后台进程。在 shell 脚本中,我试图等待所有孩子完成他们的工作,然后父工作终止。但是,出于某种原因,我看到睡眠过程永远不会醒来。

echo "Starting $1 instances" >> $logfile
for i in `seq 1 $1`
do
        /usr/bin/php index.php name&
done

echo "Waiting for all $l instances to complete \n" >> $logfile
wait
echo "All $instances scripts completed"  >>  $logfile
Run Code Online (Sandbox Code Playgroud)

Ste*_*day 7

如果您正在使用bash,则应该使用该wait命令,而不是精心设计的轮询循环。我不知道其他 shell(sh、zsh 等),但我假设大多数/所有 shell 也有wait,或等效的。