Я написал сценарий оболочки для одновременного запуска трех фоновых процессов. В сценарии оболочки я пытаюсь дождаться, пока все дочерние элементы закончат свою работу, а затем завершится родительская работа. Но почему-то я вижу, что спящие процессы никогда не пробуждаются.
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
Если вы используете bash
, вам следует использовать wait
команда, а не сложный цикл опроса. Я не знаю о других оболочках (sh, zsh и т. Д.), Но я предполагаю, что большинство / все из них также имеют wait
, или его эквивалент.