【发布时间】:2011-07-25 18:13:28
【问题描述】:
我以前见过这个问题,但还是有点困惑:如何在同一个父进程的子进程之间创建通信?我现在要做的就是将消息从第一个子进程传递给第 n 个子进程。我的想法是在父进程中创建 n-1 个管道,然后将父进程的末端重定向到下一个子进程。我想不通的是,如果没有创建下一个子进程,我们将如何从父进程重定向结束?我觉得我处理这个问题的方式有问题。
编辑:我的目标是打印从第一个子进程传递到最后一个子进程的消息。这是一个简单的程序。
【问题讨论】:
-
恕我直言,您应该描述您的最终目标。这将有助于人们提出解决方案。
-
这是作业还是真正的问题?答案取决于此。对于实际问题,您应该考虑采用不同的 IPC 方法,如答案中所建议的那样。
-
子进程是否与父进程不同?也就是说,子进程会在fork之后执行
exec吗?并且,您是否需要将管道连接到标准文件描述符(0 表示输入,1 表示输出,2 表示错误输出)? -
这只是一个简单的管道练习;对他们没有太多经验。所以基本上我在程序中有一个字符串,我只想通过子进程传递。最后,最后一个子进程将打印字符串。