【发布时间】:2012-05-29 04:21:28
【问题描述】:
这是我的信号处理程序:
pid_t pid;
int status;
while (pid = waitpid(-1, &status, WNOHANG|WUNTRACED|WCONTINUED))
{
printf("resume? %d\n", WIFCONTINUED(status));
}
即使我将SIGCONT 发送给子进程,它也总是打印出 0。如果我使用killpg 将SIGCONT 发送到一组进程,则某些进程会被指示恢复,但某些进程不会。谁能告诉我为什么会这样?
【问题讨论】:
-
代码 sn-p 缺少一对右括号。另外,请记住
waitpid在错误时返回-1,并且由于-1不为零,因此它被认为是 true。