次の例を考えてみましょう。
パイプを作成し、子を生成し、このパイプを使用して子の標準出力を読み取る親プロセスがあります。ある時点で、親プロセスは子の出力に関心がなくなり、パイプの読み取り側を閉じます。
どうやら、子が書き込みを続けると、子プロセスがSIGPIPE
シグナルを受信することになります。
質問: 子の出力をリダイレクトして/dev/null
、引き続き実行して出力を生成する方法はありますが、親プロセスは他のことを続けて、後で子を呼び出すことができwaitpid
ますか? 子のシグナル ハンドラーを制御できないため、子のSIGPIPE
ハンドラーを に設定することはできません。SIG_IGN