殺死 Ubuntu 中特定使用者的所有流程?

殺死 Ubuntu 中特定使用者的所有流程?

如何殺死一個用戶的所有進程?

例如,當我製作時ps aux,我獲得了具有多個用戶的進程列表,並且我想殺死用戶的所有進程。name1在 Ubuntu 中執行此操作的命令是什麼?

答案1

在這種情況下,它非常簡單,您可以用來killall立即終止或發送任何其他訊號到一堆進程。 「過濾」選項之一是擁有者:killall --user name1

答案2

另一個選項,因為沒有人提到它,而且我不喜歡killall(在Solaris 上使用它可能會導致災難)。

pkill更便攜

pkill -u username

答案3

安裝slay

aptitude 安裝 slay

然後發出slay some-user.

請注意,如果您為不知道目的的使用者刪除某些內容,則可能會導致您的電腦無法使用(直到重新啟動)。

如果你真的不想安裝 slay:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(稍等一會)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9

答案4

根據man kill

kill -9 -1
    Kill all processes you can kill.

要將其應用到不同的用戶:

su -l username kill -9 -1

相關內容