Linux

刪除/殺死一個不會死的程序

  • June 23, 2021

我正在使用 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該過程在or的輸出中仍然可見ps aux

我怎樣才能殺死它?

正如 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在層次結構中查看每個程序以及作業詳細資訊。

引用自:https://unix.stackexchange.com/questions/655267