【发布时间】:2013-02-27 03:16:00
【问题描述】:
所以在 C++ 中,我有一个父进程,它分叉了 N 个子进程。父进程及其所有子进程都可以访问消息队列,我希望父进程持续“监视”消息队列,并在每次来自子进程的新消息出现在消息队列中时执行msgrcv()。我该怎么做呢?我已经阅读了消息队列数据结构中的 msg_qnum 变量,但不确定如何使用它。
提前感谢您的任何想法。
【问题讨论】:
标签: c++ unix ipc message-queue
所以在 C++ 中,我有一个父进程,它分叉了 N 个子进程。父进程及其所有子进程都可以访问消息队列,我希望父进程持续“监视”消息队列,并在每次来自子进程的新消息出现在消息队列中时执行msgrcv()。我该怎么做呢?我已经阅读了消息队列数据结构中的 msg_qnum 变量,但不确定如何使用它。
提前感谢您的任何想法。
【问题讨论】:
标签: c++ unix ipc message-queue
通常的方法就是循环调用msvrcv。 msgrcv 调用将阻塞,直到收到消息,此时进程将继续。处理完消息后,它会循环回到 msgrcv 调用,该调用会阻塞直到收到下一条消息。
【讨论】: