“D”状态(或TASK_UNINTERRUPTIBLE)中的进程的信号会发生什么?

问题描述:

对于处于“D”状态(或TASK_UNINTERRUPTIBLE)状态的信号(例如SIGALRM)会发生什么情况?“D”状态(或TASK_UNINTERRUPTIBLE)中的进程的信号会发生什么?

当进程退出“D”状态时,它们是被忽略还是被延迟?

你能指点我内核源代码中的相应行吗?

谢谢。

TASK_UNINTERRUPTIBLE:进程正在等待事件的某些特殊情况,例如完成磁盘I/O。如果在此状态下为一个进程产生信号(包括SIGSTOP和SIGKILL),则信号不会传送到,直到进程从此状态出现。

+0

谢谢。我甚至有这本书,但忘了看那里。 –