ps 输出中的 Wchan 部分未显示任何内容

shi*_*ams 6 linux kernel process ps

我知道如果一个进程进入D状态则意味着它处于不可中断状态。该进程不能被任何信号杀死。它只会在重新启动或 I/O 等待结束时退出该状态。

我有很多进程处于D状态,这表明我的机器有问题。即使重新启动后,它们也会回到D状态。我在网上搜索并发现wchanps 输出中的部分告诉我的进程正在等待内核中的什么内容。

当我使用这个命令时,ps axl| grep D我进入-了 wchan 专栏,并且网上没有解释这是什么意思。

这是我的上述命令的示例输出。

0     0  69970      1  20   0  25064  1088 -      D    ?          0:00 ls -l
Run Code Online (Sandbox Code Playgroud)

我无法理解-上面输出的含义。

小智 1

ps 的手册页有此信息,“-”表示进程正在运行。进程正在休眠的内核函数的 WCHAN 名称,如果进程正在运行,则为“-”;如果进程是多线程且 ps 不显示线程,则为“*”。