Pular para o conteúdo

Eliminando todos os processos de determinada variável

Dica publicada em Shell Script / Avançado
Alisson Cardoso da Rosa alisson.cr
Hits: 7.161 Categoria: Shell Script Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Eliminando todos os processos de determinada variável

Há tempos venho verificando que pessoas aqui no VOL desenvolvem scripts enormes para resolver um problema que poderia ser resolvido de forma realmente simples. Com os comandos que passarei você poderá matar todos os processos de um determinado:
  • Usuário
  • Aplicativo
  • Outros

Ou seja, escrevendo parte do nome ou parte de qualquer string que esteja envolvida com o processo.

Por exemplo, para matar todos os processos de um determinado usuário:

# kill -9 $(ps auxww | grep "usuário" | awk '{print $2}')

Outro exemplo, se quisermos matar os processos do Mozilla Firefox:

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

Poderá apresentar mensagens do gênero: bash: "kill: (14701) - Processo inexistente". Isso é normal, mas você pode verificar que o processo será eliminado com sucesso.

Att.

Alisson Cardoso da Rosa

Nenhuma dica encontrada.

Curso de Shell Script Avançado

Como trocar senhas de usuários dentro de um Shell Script

Kernel for Newbies - Fácil Assistente de Compilação do Kernel

Usando find para expandir listas de arquivos em argumentos de modo seguro

Verificando se um arquivo cabe dentro de um DVD

#1 Comentário enviado por wfox em 15/06/2009 - 20:35h
Há tempos venho verificando que pessoas aqui no VOL desenvolvem scripts enormes para resolver um problema que poderia ser resolvido de forma realmente simples.

Por exemplo, para matar todos os processos de um determinado usuário:

# kill -9 $(ps auxww | grep "usuário" | awk '{print $2}')

Porque não pkill -SIGNAL "usuário"?
#2 Comentário enviado por alisson.cr em 16/06/2009 - 10:13h
Amigo,

A finalidade não é apenas matar os processos de 1 usuario, supondo que você tenha 50 usuarios conectados em sua estrutura, e você precise fechar todas as janelas do sistema ou do office ? vai desconetar todos ?

Então eis a solução, ali so quis mostras as aplicações... não que seja a melhor ou a unica :D

vlw ai,

Alisson Cardoso da Rosa
#3 Comentário enviado por removido em 16/06/2009 - 23:27h
Amigo, não seria mais prático usar:

#killall -v -s 9 firefox

e

#killall -v -s 9 -u usuario

por exemplo?
#4 Comentário enviado por alisson.cr em 17/06/2009 - 08:11h
Amigo,

Confeso que não conhecia este metodo, mais tenho aqui a diferença.

Se você quiser matar o open office : kill -9 $(ps auxww | grep "office" | awk '{print $2}')
este comando matará soffice.bin e todos que contiverem a palavra office, enquanto "killall -v -s 9 office"
não matará o processo desejado.

É so mais um metodo, vai depender de quem a para o que usar.


Alisson Cardoso da Rosa

Contribuir com comentário

Entre na sua conta para comentar.