0

Linux でいくつかのサービスを監視したいと考えています。それらがダウンした場合、私はそれらを再起動したいと思います。

私は 60 秒ごとに jps コマンドを使用してサービスの名前を取得する crontab を作成しています。それらが結果セットに存在しない場合は、これらの各サービスに固有の再起動コマンドを発行します。

これらのサービスを常に利用できるようにしたいので、サービスがダウンした場合でも、サービスを再開して実行することができます。

これらのサービスのいずれかがハングした場合、どうすればわかるのでしょうか。ハングしたサービスについて知り、それらを強制終了する方法はありますか?

「ダウンするサービス」と「ハングアップするサービス」の両方を処理するサービスの自動再起動を実装するクリーンな方法はありますか。

ありがとう

4

3 に答える 3

1

ネットワークを使用してこれらのサービスを照会できると仮定して、localhost 経由でサービスを呼び出し、タイムアウトした場合はそれらを強制終了し、killall または pkill コマンドを使用して再起動することをお勧めします。

多くを説明していなくて申し訳ありません。かなり簡単に見えることを願っています...

于 2013-06-20T20:13:26.710 に答える
1

ハングしたサービスについて知り、それらを強制終了する方法はありますか?

任意のプロセスがハングしたかどうかを判断するのは簡単ではありません。調べることができることがいくつかあります。

  • ネットワーク リクエストに応答しますか -curl影響の少ないテスト リクエストの送信を試みるか、送信します。
  • ディスクにログを記録しますか - ログファイルの最終更新時刻を確認し、X より古い場合は強制終了します。

一般的なケースでは解決できませんが、これらはほとんどのプロセスで確認できる一般的なポイントです。

于 2013-06-20T20:21:03.770 に答える
0

おそらくservice --status-all助けになるでしょうか?[+]出力をgrepして、それが稼働していることを示すものを検索するだけです.

実際、その必要はありません。電話するだけservice 'service_name' statusです。

于 2013-06-20T20:15:24.583 に答える