0

実際に6時間ごとに実行されるcronを作成しました。これは、実行されるたびにstore.phpへの異なる入力を持つシェルスクリプトを作成します。* */6 * * * /usr/bin/php /var/www/execute.php > /dev/null &

execute.php は、次のコマンドで test.sh ファイルを作成し、test.sh を実行します。

/usr/bin/php /var/www/store.php 'x' > /dev/null & /usr/bin/php /var/www/store.php 'y' > /dev/null &

正常に実行され、ロジックが完了します。しかし、シェルのトップコマンドでチェックしたとき

$トップ

実行が完了した後でも、すべての php プロセスが継続的に実行されていることがわかります。PHPコードを1回だけ実行したいのですが、まだバックグラウンドで実行されています...どのように停止する必要があり、1回だけ実行するのですか...phpファイルにexitを追加しました(最後にstore.php)。 ...

4

1 に答える 1

0

スクリプトを終了したい場合returnは、ファイルの最後にステートメントを使用できます。または、単に を呼び出すこともできますexit()。ただし、スクリプトは、最後の行に到達したら、それ自体を終了する必要があります。スクリプトがファイルの最後に到達しないことを示唆しています...ファイルのさまざまな部分にいくつかのエコーステートメントを挿入し、実際にファイルの最後に到達することを確認することをお勧めします。

于 2013-02-01T12:16:55.203 に答える