0

連続して順次実行するスクリプトを開発しました。このスクリプトのcronジョブを作成すると、非同期で実行され続けます。

1)スクリプトでwhileループを維持し、このスクリプトを1回実行することを考えたので、@ restartを使用してスクリプトを1回実行しましたが、apacheが壊れた場合、このスクリプトはそれ自体で実行を開始しませんか?

2)* * * * * cronを使用すると、このスクリプトが実行されますが、マルチスレッドが作成され、最終的にすべてのcronがサーバー上でオーバーラップします。

Apacheサーバーが再起動した場合でも、サーバースクリプトを継続的かつ順次実行する方法についてのアイデアが不足しています。

4

3 に答える 3

2

あなたが求めているのは:

継続的かつ順番に実行するスクリプト

それがデーモンの定義です。upstartを使用して、PHP コードでデーモンを簡単に作成できます。

ここでは、upstart と node.js を使用してデーモンを作成する方法を説明する良い記事を見つけることができます (ただし、php スクリプトに適応するのは簡単です): http://kvz.io/blog/2009/12/15/run-nodejs -サービスとしてのubuntu-karmic/

于 2012-12-05T15:01:27.763 に答える
0

cronは、時間ベースでジョブを繰り返すためのものです(最小間隔:1分)。これは、最終的に終了し、最初から再起動する必要があるスクリプトを対象としています。スクリプトは基本的にデーモンになろうとしているように聞こえます。一度開始すると、永続的に実行されたままになります。

スクリプトの新しいコピーを繰り返し開始するcronの代わりに、initスクリプト(例:/etc/rc.local)を介してスクリプトを1回開始するだけです。

于 2012-12-05T14:44:49.033 に答える
0

この質問でスクリプトが実行されているかどうかを確認する方法がいくつかあります。数分ごとに cron を実行して実行を確認し、実行していない場合は開始することができます。

于 2012-12-05T14:47:20.607 に答える