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