让我们看看下面的例子。
我有一个创建一个管道,产生一个孩子,使用该管道读孩子的标准输出父进程。 在某些时候,父进程是在孩子的输出不再感兴趣,并关闭管道的读端。
显然,如果孩子一直写,这会导致子进程接收SIGPIPE
信号。
问:有没有办法来重定向孩子的输出/dev/null
,这样它仍然保持运行并产生输出,但父进程可以继续做其他的事情,并调用waitpid
以后的孩子? 需要注意的是,孩子的设置SIGPIPE
处理程序SIG_IGN
是不是一种选择,因为我没有对孩子的信号处理程序的控制。