Matando processos por usuário

Essa é uma dica rápida para matar todos os processos de um usuário de uma vez só.

Basta executar:

$ ps -efu$USER | awk '{print $2}' | xargs -i bash -c "echo matando {};kill -TERM {}"

Agora explicando…

O comando “ps -efu$USER” vai mostrar todos os processos iniciados pelo usuário que você está usando. (Para verificar qual é este usuário, usa-se o comando “whoami” ou o comandi “id”).

$ ps -efu$USER
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

rmartins 12577 0.0 0.0 2424 1300 ? S 14:38 0:00 script_test.ksh
rmartins 12638 0.0 0.0 2148 788 ? R+ 14:39 0:00 top
rmartins 12439 0.0 0.0 2424 1296 ? S+ 14:37 0:00 watchlog_ricardo.sh

Em seguida usamos o awk para exibir apenas o segundo campo da saída do ps -efu$USER.

$ ps -efu$USER | awk '{print $2}'

PID
12577
12638
12439

Depois usamos o xargs para montar uma lista à partir da resposta do awk e guardar a mesma em { }, e depois o Kill -TERM na lista que esta dentro de { }.

Vejamos abaixo o resultado:

$ ps -efu$USER | awk '{print $2}' | xargs -i bash -c "echo matando {};kill -TERM {}"

matando 12577
matando 12638
matando 12439
Terminated

Obs.: A opção bash -c echo matando {} é só para mostrar a informação de qual processo ele está matando no momento da execução da linha de comando. Caso queira matar os processos sem nenhuma informação, execute:

$ ps -efu$USER | awk '{print $2}' | xargs -i kill -9 {}

Até a próxima

Anúncios

0 Responses to “Matando processos por usuário”



  1. Deixe um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Visitantes

  • 241,244 Acessos

%d blogueiros gostam disto: