時々クラッシュしたりフリーズしたりするプロセスを実行しています。クラッシュしたときに自動的に再起動するように 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 というファイルにコピーしました。