У меня есть PHP скрипт, который будет выполняться через хронВыполнить скрипт через хрон висит терминал
*/5 * * * * /var/www/scripts/run.php
run.php
#!/usr/bin/php
<?php
#stop server
exec("python /home/server.py stop");
#execute some php code here
#start server again
exec("python server.py start 2>&1 &");
?>
Последняя строка вызывает проблему.
Когда я бегу сценарий PHP прямо из терминала
/var/www/scripts/run.php
Он запускает сервер, но терминал висит
Когда скрипт запускается через хрон
Я вижу в пс ниже хотя сценарий сделан
root 23510 0.5 1.3 280064 14228 ? Ss 10:32 0:00 /usr/bin/php /var/www/scripts/run.php
Есть ли способ сделай это?
Благодаря
Вы не можете назвать питона внутри PHP как это можно? Разве вы не должны выполнять python через exec или систему? – davidethell
и remeber, чтобы указать полный путь – k102
Похоже, вам здесь не нужен php, но скрипт bash будет делать. Кроме того, вы НЕ ДОЛЖНЫ хранить его в 'www'. Переместите его в каталог, который не отображается в Интернете. – Nadh