シェルスクリプトが強制終了した後でも 0 を返すようにする方法

シェルスクリプトが強制終了した後でも 0 を返すようにする方法

分散環境で実行されているスケジュールされたシェル スクリプトがあります。プロセスが他のプロセスによって強制終了されるシナリオがいくつかあります。ただし、失敗/強制終了後でもプロセスが 0 を返す必要があります。これを bash で実装する方法はありますか?

答え1

シグナルによって異なります。Bash では コマンドでトラップできますtrapが、スクリプトがSIGKILL(9) で強制終了される場合は、中断もトラ​​ップもできません。

答え2

これは、keepalived がプロセスを追跡する方法に似た、何らかのウォッチドッグ プロセスの場合である可能性があります。

最も単純な場合、コマンド pidof が役に立つかもしれません。

関連情報