1

fork/exec を使用して子を生成する C アプリケーションがあります。spawn-process がノンストップで実行され、UNIX パイプを使用してログ ファイルが作成されます。24 時間ごとにログをバックアップします。このために、スクリプトを使用しています。スクリプトが終了したら、プロセスを強制終了して再起動します。ここまでは順調ですね。しかし、まだスポーンされた子がアクティブな場合があります。スポーンプロセスを強制終了して再起動する前に、それらを否認することは可能ですか?

通常、親が殺されると、すべての子もすぐに殺されます。

4

1 に答える 1

3

プロセスは、親プロセスが終了したときに終了するだけではありません。ほとんどの場合、子プロセスはSIGHUP何らかの理由で何らかのシグナル (?) を受信して​​います。

子供たちに持続させたい場合は、そのシグナルが何であるかを調べて、直後に無視する必要がありますfork

于 2011-08-01T00:07:44.680 に答える