1

これが私のシグナルハンドラーです:

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

SIGCONTを子プロセスに送信しても、常に 0 が出力されます。SIGCONTを使用してプロセスのグループにを送信するとkillpg、一部のプロセスは再開するように示されますが、一部のプロセスは再開されません。なぜこれが起こったのか誰か教えてもらえますか?

4

1 に答える 1

1

シグナルは、SIGCHLD実行が再開されたときではなく、子が停止または終了した場合にのみ送信されます。

于 2012-05-29T05:41:30.507 に答える