【发布时间】:2017-06-12 18:06:14
【问题描述】:
我在 Linux Ubuntu 中用 C 语言创建了两个不相关的守护进程。这些进程处于休眠模式,只有在接收到数据时才会唤醒,并执行信号处理程序中实现的动作并再次休眠。
我已经使用 SIGNAL IPC 和消息队列实现了这种通信。在发送消息之前,我先发送信号SIGUSR1,然后发送数据,并为SIGUSR1编写信号处理程序以执行所需的操作。
我想使用 ZeroMQ 实现相同的通信方式,我一直在阅读他们的 指南 以了解 ZeroMQ 是否有任何类型的事件处理或通知方法用于其他进程,当数据已到达(用于 C 语言)。
我也参考了以下链接:
Does ZeroMQ have a notification/callback event/message for when data arrives?
但我还是很怀疑。
ZeroMQ 是否通知或触发其他进程一些事件,当新数据已发送时(我不想等待或 poll() 直到数据到达,而是我的守护进程会休眠当数据到达时,它会执行它的处理程序并再次休眠)?
如果有人能对此提供帮助/建议,那就太好了。
【问题讨论】:
标签: callback event-handling multiprocessing zeromq daemon