Matar todos os processos de um usuário específico no Ubuntu?

Matar todos os processos de um usuário específico no Ubuntu?

Como matar todos os processos de um usuário?

Quando faço ps auxobtenho uma lista de processos com vários usuários, e quero matar todos os processos do usuário name1, por exemplo. Qual é um comando para fazer isso no Ubuntu?

Responder1

Nesse caso, é bem simples, você pode usar killallpara matar, ou enviar qualquer outro sinal, para vários processos de uma vez. Uma das opções de "filtragem" é o proprietário:killall --user name1

Responder2

Adicionando outra opção porque ninguém mencionou e eu não gosto killall(usá-la no Solaris pode causar um desastre).

pkillé mais portátil

pkill -u username

Responder3

Instalar slay:

aptitude instalar matar

Então emita slay some-user.

Esteja ciente de que se você eliminar coisas para usuários para os quais não conhece a finalidade, poderá inutilizar sua máquina (até reiniciar).

Se você realmente não deseja instalar o slay:

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

(espere um pouco)

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

Responder4

De acordo com man kill:

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

Para aplicá-lo a um usuário diferente:

su -l username kill -9 -1

informação relacionada