プロセスがスリープ状態でシグナルを受信しているときにプロセスに何が起こるか、シグナルにもかかわらず強制的に初期待機を完了する方法を知りたいです。
プロセスがスリープしている場合(たとえば sleep() を使用)、シグナルを受信すると、自動的にスリープから復帰すると思います。そして、強制的に待機を完了させるために、私にはわかりませんが、次のようなものが機能するかどうかはわかりません:
if ((pid = waitpid(-1, &status, 0)) > 0)
{
if (WIFSIGNALED(status))
printf("PID %d exited due to signal %d\n.",
childpid,
WTERMSIG(status));
}
私が間違っている場合は修正してください。誰かがそれについて教えてくれれば幸いです。多くのコードは必ずしも必要ありません。ほとんど理論的に知りたいです。前もって感謝します。