【发布时间】:2016-11-12 22:02:19
【问题描述】:
如果父进程有两个子进程并且每个子进程都有自己的管道,那么父进程如何写入每个子进程的管道?有什么方法可以调用一个函数,一个进程可以指定一个特定的孩子的 id?
【问题讨论】:
-
没有。您必须自己将 pid 与 fd 对(管道)耦合。 (并且不要忘记每个进程都应该关闭它不使用的所有管道文件描述符,否则你会遇到问题不会在你需要的地方获得 EOF)。
-
我完全明白你的意思,但我仍然对将 pid 与 fd-pair 耦合感到困惑。你是怎样做的?因为我正在做的是创建一个子进程,使用 if-else 语句检查 fork() 的输出,如果有父进程,我创建另一个子进程并重复相同的 if-else 语句。然后,如果它是父进程,我会收到来自服务器的消息。我在这里要做的是,我想根据一些基本条件,将父进程收到的消息发送给子进程。