2016-07-04 2 views
0

Я хочу выполнить 2 скрипта: s1 и s2. s2 должно быть выполнено послеs1. Время выполнения s1 составляет 2800 секунд, и мне необходимо выполнить s2послеs1. Должен ли я поставить sleep(3000) в моем php между ними, или второй выполнит автоматически после первого?Порядок выполнения shell_exec в php

Я попытался это:

exec('python s1 '); //time of execution is 2800s 

sleep(3000); // i want to be sure that the first one is finished 

shell_exec('php /home/Parik/s2.php'); 

ответ

1

С странице руководства по exec:

Если программа запускается с помощью этой функции, для того, чтобы продолжать работать в фоновом режиме, выход программа должна быть перенаправлена ​​в файл или другой выходной поток. В противном случае PHP зависнет до завершения программы.

Короче говоря, PHP будет ждать вашей команды python s1, прежде чем продолжить.

Обратите внимание, что время выполнения 3000 секунд будет наиболее определенно отключено без изменения максимального времени выполнения по умолчанию в ini-файле. См. How to increase maximum execution time in php.

Смежные вопросы