我遇到了一些在 Ubuntu 10.04.3 LTS 上卡在 D 状态的进程的问题。
自 11 月 5 日(今天是 12 月 6 日)以来,他们一直处于这种状态。我知道这些是不间断的 sleep 状态,通常与等待来自硬盘等硬件的数据有关。这是一个生产服务器,所以重启是最后的手段,有没有人能够阐明这些过程可能是什么?
这是来自 ps -aux
www-data 22851 0.0 0.0 0 0 ? D Nov05 0:00 [2637.64]
www-data 26306 0.0 0.0 4008 12 ? D Nov05 0:00 ./2.6.37
www-data 26373 0.0 0.0 4008 12 ? D Nov05 0:00 ./n2
www-data 26378 0.0 0.0 4008 12 ? D Nov05 0:00 ./n2
这是 ps axl | 的输出awk '$10 ~/D/'
了解更多信息。
0 33 22851 1 20 0 0 0 econet D ? 0:00 [2637.64]
1 33 26306 1 20 0 4008 12 ec_dev D ? 0:00 ./2.6.37
1 33 26373 1 20 0 4008 12 ec_dev D ? 0:00 ./n2
1 33 26378 1 20 0 4008 12 ec_dev D ? 0:00 ./n2
有没有办法杀死这些?重新启动时处于此状态的进程是否会导致任何问题?
最佳答案
这是进程可怕的不可中断 (TASK_UNINTERRUPTIBLE) 状态。这是进程在开始等待完成之前不对信号使用react的状态。 不幸的是,这是一种必要的邪恶。见 here在这里What is an uninterruptable process? .
我的回答是重启系统。
重新启动会导致任何问题吗?
很难说,它可能它可能不是。处于 D 状态的进程可能需要进行一些重要的更新,如果你重启它就不会。
如果实在无法重启,尝试找到进程正在等待的磁盘,通过打开、关闭、读/写来查看磁盘是否工作正常
关于linux - 进程永久卡在 D 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20423521/