クラッシュ時の自動再起動プロセス

クラッシュ時の自動再起動プロセス

ネイティブ コードを実行する Java サーバー プロセスがあり、ネイティブ コードの問題が原因でプロセス全体がクラッシュする可能性が常にあります。*nix オペレーティング システムには、プロセスが異常終了したときに (終了ステータス != 0)、プロセス自体を再起動できるメカニズムがありますか?

一定レベルの制御/構成を同時に提供することで、あらゆる種類のプロセスに対してこのタスクを自動化できるツール/ユーティリティはありますか?

答え1

いくつかのオプションがあります。次のように短いシェル スクリプトでラップすることもできます。

#!/bin/sh

RC=1
while [ $RC -ne 0 ]; do
   ./my-java-app
   RC=$?
done

エレガントとは程遠いですが、十分かもしれません。

答え2

あなたが探しているのは、通常プロセス監視またはプロセス監視これを行うツールは多数ありますが、通常はさまざまな機能セットの一部として行われます。アップスタートLinux の世界では、システム サービスにますます使用されるようになっています。モニタこれは、root によって起動されていないプログラムに対して最初に試すことですが、代替手段は多数あります。

関連情報