linux - 进程永久卡在 D 状态

标签 linux ubuntu process hard-drive

我遇到了一些在 Ubuntu 10.04.3 LTS 上卡在 D 状态的进程的问题。

自 11 月 5 日(今天是 12 月 6 日)以来,他们一直处于这种状态。我知道这些是不间断的 sleep 状态,通常与等待来自硬盘等硬件的数据有关。这是一个生产服务器,所以重启是最后的手段,有没有人能够阐明这些过程可能是什么?

这是来自 ps -aux

的 D 状态项的输出
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/

相关文章:

linux - 在子目录中查找特定字符串并按修改日期对顶级目录排序

c - 如何在 Linux 中使用 chdir 功能?

java - 如何找出与 unix 进程 LWP 关联的进程/任务

bash - 无法获取 Web 服务器的 PID

c# - 在 C# 中一个接一个地启动进程

linux - 如何为 .sh 文件创建 .desktop 文件

ubuntu - 如何在 MATE 菜单栏中配置 "places"

ubuntu - Texlive 从 Sharelatex 图像从 2016 年降级到 2013 年

ruby-on-rails - 我无法执行 rake db :migrate - Unexpected ':'

node.js - 为什么我的 Node.js 服务器进程被克隆?