C/C++でfork()
を使用して子プロセスを作成しています。
親プロセスが終了したとき(または何らかの理由で強制終了されたとき)、すべての子プロセスも強制終了させたいです。
それはシステムによって自動的に行われますか?それとも自分でやらなければならないのですか?
ありがとう。
既存の同様の質問:
いいえ。親が強制終了されると、子はinitプロセスの子になります(プロセスIDが1で、カーネルによって最初のユーザープロセスとして起動されます)。
Initプロセスは新しい子を定期的にチェックし、それらを待ちます(したがって、戻り値によって割り当てられたリソースを解放します)。
質問はすでにここで質の高い回答で議論されました: 親が終了した後に子プロセスを死にさせる方法?