我编写了一个 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
或与之等效的命令。