2

PHP スクリプトを無期限に実行するデーモンを作成するための代替手段を知りたいです。つまり、PHP スクリプトを実行 ---> 処理 ---> 完了 ---> 繰り返します。

これは Bash で記述できますか? それともC?このようなものを無期限に実行できる、インストールできる Linux ツールはおそらくありますか? このタスクを処理するために一般的に使用されるアプローチは何ですか?

更新:centosを使用しています

4

2 に答える 2

1

これは非常に一般的な問題であり、人々はすでにそれを行うためのいくつかのユーティリティを作成しています (一般に、それらはウォッチドッグと呼ばれます)。

利用可能なオプションを比較し、好みのオプションのソースを調べることができます。それらのいくつかは次のとおりです。

cron を使用して定期的にタスクを実行することはできますが、同時実行を防ぐのは困難です (ロック、古いロックなどを処理するのは、うまく行うのが困難です)。

于 2013-04-10T19:34:24.547 に答える
0

機能とパフォーマンスの要件を満たすことができるかどうかは、最も速い方法です。Bash - 通常は最も簡単、perl - 強力、c - 自分が何をしているのか本当にわかっている場合のみ。あなたがそれを最もよく知っているなら、あなたはphp自体を使うことができます。

php スクリプトを実行する cron ジョブを作成できます。または、外部プログラムを使用してプログラムをデーモン化します。perl でデーモンを作成するのは簡単です。php がデーモン プロセスとして fork できるとしても驚かないでしょう。

bash ソリューション:

cd /
while :; do php /path/myprog.php >> /var/log/myphplog.log; done </dev/null >/dev/null 2>/dev/null &
disown

このコードを rc.local に配置するか、新しい init スクリプトを作成できます。ログのローテーションもあるとよいでしょう。

于 2013-04-10T19:35:19.903 に答える