Mate todo o processo de usuários no Ubuntu?

18

Como matar todo o processo de um usuário?

Quando eu faço ps aux eu obtenho uma lista de processos com vários usuários, e eu quero matar todo o processo do usuário name1 por exemplo! O que é um comando para fazer isso no Ubuntu?

    
por user15992 27.03.2012 / 16:15

4 respostas

23

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

    
por 27.03.2012 / 16:27
14

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

pkill é mais portátil

pkill -u username
    
por 15.08.2012 / 20:33
1

Instale slay :

aptitude instale o slay

Em seguida, emita slay some-user .

Esteja ciente de que, se você matar coisas para usuários para os quais você não sabe o motivo, poderá tornar sua máquina inutilizável (até que você reinicie).

Se você realmente não quer 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
    
por 27.03.2012 / 16:25
1

Identifique o usuário e, em seguida, killall -user <username>

Eles terão um processo bash (ou similar) associado à sua sessão matando a sessão que matará sua sessão.

Para ter uma visão geral potencialmente melhor do que um usuário está fazendo, experimente pstree <username>

Espero que isso ajude, Dave

    
por 27.03.2012 / 18:21