我想知道当一个进程正在睡觉接收信号时会发生什么,以及如何强制它完成尽管有信号的正常等待。
我认为当进程正在休眠时(例如,使用sleep()),当它接收到一个信号时,它会自动从睡眠中唤醒。 并且为了迫使它完成等待,我不确定,我不知道这样的事情是否可行:
if ((pid = waitpid(-1, &status, 0)) > 0)
{
if (WIFSIGNALED(status))
printf("PID %d exited due to signal %d\n.",
childpid,
WTERMSIG(status));
}
如果我错了请纠正我,如果有人能够帮助我,我会很感激,我不需要太多代码,我想在理论上知道它。提前谢谢。