我正在创建一个程序,创建n个与主进程通信的守护进程。当他们获得sigusr1信号时,Deamons会通过fifo发送invidual msg。当主进程获得sigusr1时,它会关闭随机fifo。当随机fifo关闭时,我希望通过该fifo进行通信的守护进程死亡。它似乎不起作用......虽然文件描述符已关闭,但是当sigusr1发送时,守护程序仍然存在且仍然不会死亡。 (每个deamons必须在同一组)。
是否可以将fifos的两端连接到2个进程并同步它?
答案 0 :(得分:2)
关闭fifo的一端不会发出另一端的信号。写入另一端将阻止,直到有读者。我认为套接字的语义在这里会更好。另一个选择是使用一对fifos,每个方向一个。第二个fifo提供ACK或显式QUIT消息。
答案 1 :(得分:0)
我不知道但是在守护进程的代码中你不应该使用退出函数来退出守护进程子进程而父进程可以退出状态吗?