Назад | Перейти на главную страницу

Раздел Wchan в выводе ps ничего не показывает

Я знаю, что если процесс перейдет в D состояние, то это означает, что он находится в непрерывном состоянии. Процесс не может быть остановлен никаким сигналом. Он выйдет из этого состояния только при перезагрузке или по окончании ожидания ввода-вывода.

У меня много процессов в D состояние, которое показывает, что в моей машине что-то не так. Также даже после перезагрузки они возвращаются в D штат. Я поискал в Интернете и нашел, что wchan секция вывода ps сообщает, что в ядре ожидает мой процесс.

Когда я использую эту команду ps axl| grep D я получаю - в столбце wchan, и в Интернете нет объяснения, что это означает.

Это мой пример вывода для приведенной выше команды.

0     0  69970      1  20   0  25064  1088 -      D    ?          0:00 ls -l

Я не могу понять что - имелось в виду в приведенном выше выводе.

в новом ядре Linux вы видите, в какой функции ядра застрял ваш процесс

cat /proc/<pid_numer>/stack

На странице руководства по ps есть эта информация, «-» означает, что процесс запущен. WCHAN имя функции ядра, в которой процесс находится в спящем режиме, «-», если процесс запущен, или «*», если процесс многопоточный и ps не отображает потоки.