确定进程中导致 D 和 DL 状态的原因

确定进程中导致 D 和 DL 状态的原因

我知道我们无法杀死处于 D 状态的进程。

问题是,我的服务器自 2015 年以来一直在收集 D 状态进程(如您所见,它从 2015 年一直运行到现在)。

有时我无法弄清楚这个过程是如何达到这种状态并像这样运行多年的。我该如何确定其中一些运行了 3 年历史的进程的原因,最好不要让我的服务器面临风险?

我将展示一些例子:

cp since 2017
nmbd since 2016
grep since 2015 
hdparm since 2017 
gzip since 2015 

相关内容