【发布时间】:2014-01-03 22:36:48
【问题描述】:
总结:主进程分叉 3 个子进程,向每个进程发送信号,然后等待。反过来,当每个孩子收到信号时,它会被重定向到 child() 函数,向主进程发送信号(并调用father() 函数),然后等待。如果主进程收到 3 个信号,它将终止子进程并结束程序。
问题是主进程只接收一次信号。我怀疑在执行father() 函数时其他2 个信号丢失了,或者我只是遗漏了一些东西
有没有办法知道某些信号是否丢失?那我该如何避免这种情况呢?
【问题讨论】:
-
如何设置一个标志以在终止之前查找 x 个响应?您还可以包括超时延迟,以防其中一个孩子被挂断。
-
标志需要使用共享内存。不幸的是,我只需要使用信号来实现这一点。