gpt4 book ai didi

c - C语言进程间通信中的数据流控制

转载 作者:行者123 更新时间:2023-11-30 20:55:22 25 4
gpt4 key购买 nike

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

最佳答案

您需要在进程之间实现管道机制。建议您仔细阅读 pipeline()、dup() 的手册页以及链接 here了解更多信息

关于c - C语言进程间通信中的数据流控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33484203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com