仅使用信号(非实时)来实现此类情况的方法是什么? :
有N个子节点(由fork()
创建的进程),1个父节点,同步必须是这样的:
我不知道该怎么办,因为只有2个用户定义的信号SIGUSR1,SIGUSR2,但我有N个孩子,所以很多孩子应该只使用一种信号,我很害怕
任何想法?..
答案 0 :(得分:0)
你不需要使用那些用户定义的信号你可以向任何孩子发送任何信号。或者你必须做的就是使用signal()
或sigaction()
系统函数捕获该信号。 ..并从该信号的ISR发送信号给特定的孩子
答案 1 :(得分:0)
如果你真的只想通过信号做同步,(这不是一个好主意)
您可以使用 sigqueue 作为发件人, sigaction 作为收件人,
它允许你追加int或指向另一个进程的指针
因此,接收方可以通过附加信息识别发件人。