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

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

我编写了一个 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

答案1

如果您正在使用bash,则应使用wait命令,而不是复杂的轮询循环。我不知道其他 shell(sh、zsh 等),但我认为大多数/所有 shell 也都有wait或与之等效的命令。

相关内容