| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

ps

Page history last edited by PBworks 16 years, 10 months ago

Finalizando todos os processos de um usuário

from Blog do Mitre by J. F. Mitre

Para matar um programa com o comando kill é preciso do número PID do processo, para conseguir o número PID, ou você usa pidof programa ou lista todos os processos e olha o PID do programa que te interessa. E se você quiser finalizar todos os processos de um determinado usuário ? E se tiver mais de um número de PID referente aquele processo (como o apache) ?

Uma solução vem do comando abaixo:

ps auxww | grep "mitre" | awk '{print $2}'

Para matar o firefox 

 ps aux | grep firefox | grep -v grep | awk '{print $2" "$11}'

Com ele, nós listamos todos os PID do usuario mitre. Ainda podemos com a modificação do comando abaixo:

ps auxww | grep "apache" | awk '{print $2}'

listar todos os processos que contenham a expressão regular "apache".

Essencialmente, podemos listar todos os PIDs de qualquer processo que possa ser identificado por uma expressão regular apropriada como argumento do comando intermediário "grep".

Agora que temos uma lista de PIDs, tudo que temos que fazer é executar o comando kill, como nos exemplos:

kill -9 $(ps auxww | grep "mitre" | awk '{print $2}')

kill -9 $(ps auxww | grep "apache" | awk '{print $2}')

Nota: É possível fazer um serviço similar com o comando killall, eliminando os dois redirecionamentos utilizados nas linhas acima, mas eu particularmente prefiro utilizar o comando kill ao killall. Pode ser apenas uma sensação equivocada, mas eu considero o kill mais eficiente do que o killall. Além disso, podemos utilizar inicialmente:
ps auxww | grep "apache" ou ps auxww | grep "mitre"
para ter certeza de que selecionamos o processos corretos, isso permite mais controle sobre as decisões do que com comando killall.

Referência: How to kill a list of PID's with one operation

Technorati Tags: pid kill ps linux

Comments (0)

You don't have permission to comment on this page.