儿童恢复时不发出SIGCHLD信号

时间:2012-05-29 04:21:29

标签: c unix process signals

这是我的信号处理程序:

pid_t pid;
int status;
while (pid = waitpid(-1, &status, WNOHANG|WUNTRACED|WCONTINUED))
{
     printf("resume? %d\n", WIFCONTINUED(status));
}

即使我向子进程发送SIGCONT,它也会打印出0。如果我使用SIGCONT向一组进程发送killpg,则表示某些进程已恢复,但有些进程未恢复。有人能告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

SIGCHLD信号仅在孩子停止或终止时,而不是在执行恢复时。