PHP スクリプトを無期限に実行するデーモンを作成するための代替手段を知りたいです。つまり、PHP スクリプトを実行 ---> 処理 ---> 完了 ---> 繰り返します。
これは Bash で記述できますか? それともC?このようなものを無期限に実行できる、インストールできる Linux ツールはおそらくありますか? このタスクを処理するために一般的に使用されるアプローチは何ですか?
更新:centosを使用しています
PHP スクリプトを無期限に実行するデーモンを作成するための代替手段を知りたいです。つまり、PHP スクリプトを実行 ---> 処理 ---> 完了 ---> 繰り返します。
これは Bash で記述できますか? それともC?このようなものを無期限に実行できる、インストールできる Linux ツールはおそらくありますか? このタスクを処理するために一般的に使用されるアプローチは何ですか?
更新:centosを使用しています
これは非常に一般的な問題であり、人々はすでにそれを行うためのいくつかのユーティリティを作成しています (一般に、それらはウォッチドッグと呼ばれます)。
利用可能なオプションを比較し、好みのオプションのソースを調べることができます。それらのいくつかは次のとおりです。
cron を使用して定期的にタスクを実行することはできますが、同時実行を防ぐのは困難です (ロック、古いロックなどを処理するのは、うまく行うのが困難です)。
機能とパフォーマンスの要件を満たすことができるかどうかは、最も速い方法です。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 スクリプトを作成できます。ログのローテーションもあるとよいでしょう。