请大家给个思路(linux下的守护进程的开发)
最近一个项目,要在linux环境下写一个守护进程,该进程的主要功能是:有A,B,C三个客户端,其中需要作为A,B两个客户端之间的传话筒(即AB之间的通信皆通过我的服务转发),并不时的向C报告A的状态.
我计划用多进程的方法.主进程负责监听公开的端口,每个客户端fork一个进程进行处理.进程之间用消息队列的方式通信.
现在的问题是:
1. 是不是还要再Fork一个处理消息的进程啊?因为主进程平时就阻塞在accept(),无法去消息队列中读子进程发来的消息.
2.如果要fork一个处理消息的进程,怎样保证它只生成一个该进程,而不是每次有客户端连接时都Fo r k 一个.
谢谢