-1
他是交易: 我有n fork
,在叉我有exec
,一切都连接pipe
。
我的问题:
如果有些孩子做exit()
我想close
他的pipe
能够阅读。 - 这个怎么做? waitpid函数最有可能的......选择,pipie和waitpd - 如何等待specyfic的孩子?
现在我等一样,所有子:
for(i = 0; i< val; i++)
{
wait(&status);
close(fd[i][1]);
}
val - 一个孩子的数量。
这个问题不太清楚。如果你想在child(ren)退出时关闭一些通过管道建立的连接,那么1)忽略SIGPIPE(这样你的父/服务器不会退出 - SIGPIPE的默认操作是退出)2)查找EPIPE错误号。 3)关闭返回'EPIPE'的文件描述符。除了收获的目的,你不需要使用wait()来达到这个目的。 –