在以下IPC选项列表中,可以执行多播(即1个发送器和多个接收器):
- 信号
- 半双工管
- 命名管道
- 系统V消息队列
- unix域套接字
编辑
- 内存映射文件
根据我的理解,这可能与命名管道有关(不确定)。
没有什么比多播在概念上更灵活的了,但有一些限制,一些设施可能会做你想做的事。
信号可以被传递到过程组。你列出的其他IPC机制有一个发送方/接收方模型,不适合多播,除了@Barmar在评论中指出的Linux的多播AF_UNIX套接字等本地扩展。
如果您只需要向子进程发送一个"信号",并且只发送一次,则可以使用继承的fifo。所有接收器都继承fifo的读取端,但不继承写入端。持有写端的进程在某个时刻关闭它,并且所有接收器将在其读端副本上检测到EOF。