1

私が取り組んでいる Bash スクリプトは、バックグラウンドでいくつかのプロセスを呼び出します。親 Bash スクリプトで「待機」を使用して、すべてのバックグラウンド プロセスが終了するのを待ちました。正常に動作します。

ただし、問題は再起動にあります。子プロセスのいずれかが終了した場合は、もう一度開始する必要があります。Whileを使用して永久ループを試し、pgrepを使用してプロセスステータスを確認し、再起動を発行しました。しかし、それはリソースを消費します。

子のバックグラウンド プロセスが停止/強制終了/終了したらすぐに再起動する可能性はありますか?

4

1 に答える 1

1

車輪の再発明をしないでください。デーモンコマンドを。で使用してください--respawn

--acceptableまた、オプションを検討し、バグのあるプロセスが無限のリスポーンループを引き起こさないようにする必要があります(たとえば、コマンドラインオプションが間違っているためにすぐに停止した場合)--attempts--delay

于 2013-02-06T08:36:42.993 に答える