Unix - 如何向多个进程发送消息?

时间:2014-05-09 16:32:34

标签: sockets unix udp ipc openwrt

我有一个进程A需要向正在运行的所有B类进程发送消息。过程A不了解这些其他过程,可以根据外部因素创建和销毁它们,因此我可以运行不同数量的B类过程。

我以为我可以在进程A中使用UDP套接字将消息发送到端口P,并让我所有类型B的进程监听此端口P并接收消息的副本。

这可能吗?

我正在使用Linux OpenWRT。

我正在尝试使用LuaSockets,但我正在使用#34;已经在使用的地址"错误。看来我不能让多个应用程序听同一个端口?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果所有进程都是单个计算机的本地进程,那么使用共享内存可能很有用。

请查看http://man7.org/linux/man-pages/man7/shm_overview.7.html以获取解释。

简而言之,您需要主进程来创建共享内存区域并将数据写入其中。然后,从属进程可以检查存储器区域中的数据,以及它是否已被更改对其进行操作。然而,这只是解决此问题的众多方法之一。您还可以考虑使用管道和T恤。