
分散環境で実行されているスケジュールされたシェル スクリプトがあります。プロセスが他のプロセスによって強制終了されるシナリオがいくつかあります。ただし、失敗/強制終了後でもプロセスが 0 を返す必要があります。これを bash で実装する方法はありますか?
答え1
シグナルによって異なります。Bash では コマンドでトラップできますtrap
が、スクリプトがSIGKILL
(9) で強制終了される場合は、中断もトラップもできません。
答え2
これは、keepalived がプロセスを追跡する方法に似た、何らかのウォッチドッグ プロセスの場合である可能性があります。
最も単純な場合、コマンド pidof が役に立つかもしれません。