プロセスを監視し、定期的な再起動をスケジュールするにはどうすればよいですか?

プロセスを監視し、定期的な再起動をスケジュールするにはどうすればよいですか?

時々クラッシュしたりフリーズしたりするプロセスを実行しています。クラッシュしたときに自動的に再起動するように supervise を使用しました。ただし、フリーズした場合は、コンピューターの前に戻るまでフリーズしたままになります。クラッシュしたときに再起動するだけでなく、定期的に強制終了して再起動するように構成できるツールが欲しいです。そうすれば、フリーズした場合は、一定時間以上フリーズしたままになりません。

どのツールを提案しますか?

ありがとう

答え1

必要に応じて cron を使用してこれを実行できます...

sudo crontab -e

* /5 * * * pkill -9 <your process name here> ; <your process name here>

5 時間ごとに強制終了して再起動します。その他の例...Cronの例

答え2

私はsupervisを使ってみましたデーモンツールcrontab を使用する場合:

まず、

supervise /fullpath

そして私はこのcrontabを使用します:

0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath

ここで、fullpath は、プロセスを開始する run というファイルを含むディレクトリです。注意すべき点は、このファイルは次のように終わる必要があることです。

exec java ...

通常、スクリプトを使用してアプリケーションを起動しますが、そのスクリプトを run というファイルに配置すると、svc が実行されたときにスクリプトに信号が送信され、Java プロセスが引き続き実行されます。スクリプトのコピーを作成し、すべてのパラメータを使用して Java への呼び出しを出力するように変更し、これを run というファイルにコピーしました。

関連情報