【发布时间】:2016-02-02 17:24:03
【问题描述】:
我有三个模块(2 个 C 可执行文件 + 1 个 python 脚本)。我需要三个进程——一个父进程,两个子进程。在他们看到文件结束之前,他们都不会停止。他们只是在执行后继续运行。 问题就出现在这里。父进程需要子进程1的输出,子进程2需要父进程的输出。顺序为:子进程 1 输出结果并在下一轮输出前休眠 5 秒-> 父进程将该输出作为输入并输出自己的结果-> 子进程 2 获取其父进程的结果并将最终结果输出到标准输出。这只是一次迭代。这个循环将一次又一次地重复,直到看到文件结束。 我不知道如何让父进程等待子进程1的每次迭代输出并将其转发给子进程2。所以子进程等待父进程。我考虑过 wait(),但这需要子进程 1 停止。但实际上,这三个过程都不会在文件结束之前停止。 那么,有没有什么好的机制来实现这个场景呢?
【问题讨论】:
-
查看
pipe(2)的手册页