Удалить/Убить процесс, который не хочет умирать

Удалить/Убить процесс, который не хочет умирать

Я использую Linux Ubuntu 20.04.

У меня есть процесс с PID 21:

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
21  root      20   0       0      0      0 S   0.0   0.0   0:00.01 kdevtmpfs

После запуска любого из

  • sudo pkill -9 21
  • sudo kill 21

процесс по-прежнему виден в выходных данных topили ps aux.

Как мне его убить?

решение1

Как указал AB, это поток (для одной функциональности) ядра Linux, и как таковой он не может быть убит. Кроме того, его убийство/удаление не принесет никакой выгоды.

Это можно увидеть более наглядно при вызове psс такими аргументами:

# ps auxfww
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Jun07   0:00 [kthreadd]
(...)
root        21  0.0  0.0      0     0 ?        S    Jun07   0:00  \_ [kdevtmpfs]
(...)

Там вы можете увидеть, что это потомок ядра. RSS=0И VSZ=0также являются индикаторами.

Если указанные выше флаги не работают с вашей версией ps, попробуйте ps -ejfHпросмотреть каждый процесс с подробностями о заданиях в иерархии.

Связанный контент