如何让父进程和子进程相互监听?

Posted

技术标签:

【中文标题】如何让父进程和子进程相互监听?【英文标题】:How to make parent and child processes listen to each other? 【发布时间】:2019-09-28 02:26:28 【问题描述】:

我正在尝试仅使用 fork 和 pipe 来模拟 C 中的 CPU 和内存。我将 CPU 作为父进程,将内存作为子进程。我希望 CPU 在需要获取新指令以及需要写入内存时与内存通信。如何让内存监听 CPU,反之亦然?

【问题讨论】:

【参考方案1】:

你必须在 IPC 机制中实现(IPC=进程间通信)。根据您的操作系统提供的内容,您可以在多种机制中进行选择:消息队列、共享内存、套接字等。

例如,如果您选择在 Linux 上实现基于 IPC 的消息队列,您可以检查:https://linux.die.net/man/7/mq_overview。

【讨论】:

以上是关于如何让父进程和子进程相互监听?的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中父进程和子进程之间共享队列

使用警报让父进程等待子进程几秒钟

如何阻止管道中的写入,直到读取发生? (在 C 中)

C - 同时从两个管道(来自两个子进程的父进程)读取?

如何使用 fork() 将数字与父进程和子进程相加 [重复]

如何在父进程和子进程之间发送带有 pipe() 的矩阵?