1

我想知道一个进程在休眠接收信号时会发生什么,以及如何强制它完成初始等待,尽管有信号。

我认为当一个进程正在睡眠时(例如使用 sleep() ),当它收到一个信号时,它会自动从睡眠中唤醒。为了迫使它完成等待,我不确定,我不知道这样的事情是否可行:

    if ((pid = waitpid(-1, &status, 0)) > 0)
    {
                if (WIFSIGNALED(status))
                    printf("PID %d exited due to signal %d\n.",
                           childpid,
                           WTERMSIG(status));
    }

如果我错了,请纠正我,如果有人可以用它来启发我,我将不胜感激,我不需要太多代码,我主要想从理论上知道它。先感谢您。

4

0 回答 0