0

cron経由で実行される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

サーバーは起動しますが、端末がハングします

スクリプトが cron を介して実行される場合

スクリプトは完了していますが、ps で以下の ven が表示されます

root     23510  0.5  1.3 280064 14228 ?        Ss   10:32   0:00 /usr/bin/php /var/www/scripts/run.php

それを行う方法はありますか?

ありがとう

4

3 に答える 3

1

最後の行を次のように変更します。

exec("nohup python server.py start 2>&1 &");

nohup は、制御プロセスまたはユーザーがいなくなったときに停止しないようにプロセスに指示します。それはあなたの問題かもしれませんが、試してみる価値はあります。

于 2012-04-28T11:08:03.880 に答える
0

最後に、トリックを行うコード

exec("nohup python server.py start &> /dev/null &");
于 2012-06-03T19:53:00.193 に答える