这是我的信号处理程序:
pid_t pid;
int status;
while (pid = waitpid(-1, &status, WNOHANG|WUNTRACED|WCONTINUED))
{
printf("resume? %d\n", WIFCONTINUED(status));
}
即使我向子进程发送SIGCONT
,它也会打印出0。如果我使用SIGCONT
向一组进程发送killpg
,则表示某些进程已恢复,但有些进程未恢复。有人能告诉我为什么会这样吗?
答案 0 :(得分:1)
SIGCHLD
信号仅在孩子停止或终止时,而不是在执行恢复时。