Назад | Перейти на главную страницу

Сценарий оболочки: дочерний процесс не завершается в 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

Если вы используете bash, вам следует использовать wait команда, а не сложный цикл опроса. Я не знаю о других оболочках (sh, zsh и т. Д.), Но я предполагаю, что большинство / все из них также имеют wait, или его эквивалент.