c++ - 如何持续监控消息队列?

标签 c++ unix ipc message-queue

所以在 C++ 中,我有一个父进程,它 fork 了 N 个子进程。父级及其所有子级都可以访问消息队列,我希望父级不断“监视”消息队列,并在每次来自子级的新消息时执行 msgrcv()进程出现在消息队列中。我该怎么做呢?我读过有关消息队列数据结构中的 msg_qnum 变量,但不确定如何使用它。

提前感谢您的任何想法。

最佳答案

通常的方法就是循环调用msvrcvmsgrcv 调用将阻塞,直到收到一条消息,此时该过程将继续。处理消息后,它循环回到 msgrcv 调用,该调用阻塞直到收到下一条消息。

关于c++ - 如何持续监控消息队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15347167/

相关文章:

performance - 什么 dbus 性能问题会阻止它进入嵌入式系统?

java - 我应该使用哪种 Java RMI/RPC/IPC 技术?

c++ - 如何使用 std::make_shared 创建动态大小的缓冲区

c++ - 如何检测字符串中的转义

c++ - LoadLibrary 与将二进制 dll 加载到进程中?

c++ - 为什么在初始化时会出现以下错误?

linux - 使用 GREP 查找是否在特定文件夹中找到文件的每一行

java - 计算两个 unix 时间戳的时间差并在 Java 中转换为分钟

c - 如何在gdb中附加多个正在运行的进程?

perl - 信号干扰管道通信的方式有哪些?