杀()错误:没有这样的过程?

时间:2014-11-27 16:23:31

标签: c process signals posix kill

我必须通过终端插入一个奇数。在此之后,它会生成两个进程,A和B. 然后它向B发送SIGUSR2信号,并且他的处理程序打印argv[1]的倒数。然后,B睡眠argv[1]秒并在终止前向{A}}发送信号。进程A的SIGUSR1处理程序打印一些内容然后终止。 问题是进程A的SIGUSR1处理程序不起作用,因为进程B的SIGUSR1处理程序无法发送信号。事实上,SIGUSR2表示没有这样的过程(过程A)。在进程A中设置信号处理程序后,它位于kill(A,SIGUSR1)中。 谁能帮我解决?谢谢。

pause()

1 个答案:

答案 0 :(得分:0)

pid2 尝试向其发送SIGUSR1时,

pid1 已被杀死。 pid2 是杀手。

pid2 发出kill(0, SIGUSR2),时,会发送SIGUSR2 to the entire process group,包括 pid1 。这会杀死 pid1 ,它没有准备好接收SIGUSR2。