6

PHPで書かれたデーモンがあります。次のコマンドを使用してデーモンを呼び出します

php dojobs.php

そのコマンドを呼び出すと、ファイルdojobs.phpに次のコードが含まれているため、デーモンが無限に実行されます。

while(true)
{
   code here
}

次の質問があります。

  • Monit(CENTOS linux 5.5上)サーバーを使用してこのデーモンを監視し、失敗した場合は再起動するにはどうすればよいですか?
  • デーモン内に次のコードがあります。

    exec('nohup sendMail.php> / dev / null 2>&1&echo $!' ;, $ op);

(上記のnohupコマンドが正しく機能し、sendMail.phpファイルが実際にその役割を果たしていることを確認するにはどうすればよいですか?sendMail.phpはデーモンではありません。電子メールを送信してから終了します。)

どうもありがとう。

4

1 に答える 1

2

Monitに精通していないので、それを手伝うことはできません。ただし、呼び出す代わりにexec()、プロセス制御(pcntl _ *())拡張機能を使用して、個別のプロセスをフォークし、ジョブが正常に完了したかどうかを知るために、プロセスがステータスコードを親プロセスに返すのを待つことができます。 。

于 2011-12-08T17:34:53.793 に答える