【发布时间】:2015-10-27 22:25:39
【问题描述】:
当涉及到复制文件描述符时,我能得到一个关于 dup() 函数的简单解释吗? 我想使用管道,但我还必须让孩子从管道中读取(这是简单的部分),但将数据写回父级。 我应该使用另一根管道,还是可以使用相同的管道?
【问题讨论】:
-
通常使用两个管道:一个用于 child->parent,另一个用于 parent->child。如果使用相同的管道,则无法区分子输入和父输入。
-
啊哈。所以这将是一个简单的方法。所以我也可以在孩子中创建一个管道,或者我应该在它之外声明它们。
-
您必须在分叉之前创建两者,否则父级将无权访问。或者,您可以使用
socketpair()进行双向通信。