“D”状态(或TASK_UNINTERRUPTIBLE)中的进程的信号会发生什么?
问题描述:
对于处于“D”状态(或TASK_UNINTERRUPTIBLE)状态的信号(例如SIGALRM)会发生什么情况?“D”状态(或TASK_UNINTERRUPTIBLE)中的进程的信号会发生什么?
当进程退出“D”状态时,它们是被忽略还是被延迟?
你能指点我内核源代码中的相应行吗?
谢谢。
答
TASK_UNINTERRUPTIBLE:进程正在等待事件的某些特殊情况,例如完成磁盘I/O。如果在此状态下为一个进程产生信号(包括SIGSTOP和SIGKILL),则信号不会传送到,直到进程从此状态出现。
谢谢。我甚至有这本书,但忘了看那里。 –