C中进程间通信中的数据流控制

时间:2015-11-02 18:14:36

标签: c ipc dataflow

我有三个模块(2个C可执行文件+ 1个python脚本)。我需要三个进程 - 一个父进程,两个子进程。所有这些都不会停止,直到他们看到文件结束。他们只是在执行后继续运行。     问题就出现在这里。父进程需要子进程1的输出,子进程2需要父进程的输出。顺序是:子进程1输出结果并在下一轮输出之前休眠5秒 - >父进程将该输出作为输入并输出其自己的结果 - >子进程2获取其父进程并将最终结果输出到标准输出。这只是一次迭代。这个循环将一次又一次地重复,直到看到文件结束。     我不知道如何使父进程等待子进程1的每次迭代输出并将其转发到子进程2.因此子进程等待父进程。我考虑了wait(),但是需要子进程1才能停止。但实际上,这三个进程都没有在文件结束之前停止。     那么,有没有很好的机制来实现这种情况呢?

1 个答案:

答案 0 :(得分:2)

您需要在进程之间实现管道机制。建议您浏览pipe(),dup()以及链接here的手册页以获取更多信息

相关问题