C-顶层和底层流程之间的通信

C-顶层和底层流程之间的通信,c,fork,ipc,C,Fork,Ipc,给定一个分叉n个进程的程序,如何使用命名管道将消息从底层(叶)进程发送到顶层进程 我知道如何从命名管道写入和读取,但我不确定如何将命名管道作为底层进程写入,并等待仅从顶层进程读取。在顶层进程中创建管道对,并让底层进程继承它(自动)。然后,底部进程可以写入写入端,顶部进程可以从读取端读取 您可以使用管道系统调用创建管道对,该系统调用记录在 . 文档提供了一个示例,其中子级读取,父级写入。在你的情况下,你将改变它 继承的FD是对vnode的计数引用,因此,除了要从中写入的底部进程之外,您需要关闭所有

给定一个分叉n个进程的程序,如何使用命名管道将消息从底层(叶)进程发送到顶层进程


我知道如何从命名管道写入和读取,但我不确定如何将命名管道作为底层进程写入,并等待仅从顶层进程读取。

在顶层进程中创建管道对,并让底层进程继承它(自动)。然后,底部进程可以写入写入端,顶部进程可以从读取端读取

您可以使用
管道
系统调用创建管道对,该系统调用记录在 . 文档提供了一个示例,其中子级读取,父级写入。在你的情况下,你将改变它


继承的FD是对vnode的计数引用,因此,除了要从中写入的底部进程之外,您需要关闭所有进程中的所有写入端,以便写入进程中写入端的最终关闭可以在读取器中生成文件结尾。

在顶部进程中创建管道对,并让底部进程继承它(自动)。然后,底部进程可以写入写入端,顶部进程可以从读取端读取

您可以使用
管道
系统调用创建管道对,该系统调用记录在 . 文档提供了一个示例,其中子级读取,父级写入。在你的情况下,你将改变它

继承的FD是对vnode的计数引用,因此,除了要从中写入的底部进程之外,您需要关闭所有进程中的所有写入端,以便写入进程中写入端的最终关闭可以在读取器中生成文件结尾