matando um processo em uma linha

0

Às vezes eu preciso terminar um processo rapidamente via terminal, mas é tedioso digitar apenas ps -e | grep firefox e depois matar o tempo todo. Eu quero criar um alias no meu .bashrc e apenas digite killfirefox

Eu acho que isso faria isso, mas eu realmente não entendo tudo.

então eu aprendi que ps -e | grep firefox | sudo awk '{print $1}' ou pgrep firefox retornará o pid do firefox que eu preciso para matar um processo. Eu pensei que isso funcionaria:

pgrep firefox | sudo awk '{kill $1}' , mas não funciona. Não diz nada e o firefox ainda está em execução. Eu então tentei pgrep firefox | sudo awk '{system(sudo kill $1)}' mas depois ele retorna "sh: 1: 27762: not found".

Por que meu jeito não funciona? O que há de errado?

    
por Davlog 01.05.2016 / 12:53

3 respostas

4

Para fazer o seu caminho funcionar, você precisa corrigir a sintaxe do awk e usar a função do sistema para executar comandos no awk:

pgrep firefox | awk '{system("kill "$1)}'

Então você tem seu próprio equivalente (de roda reinventada):

pkill firefox

como apontado nos comentários da sua pergunta.

    
por 01.05.2016 / 17:56
1

Para aplicativos como o Firefox, uso apenas o killall firefox .

man killall

    
por 01.05.2016 / 18:25
-2

ps -U root -u root | grep "ocorrência de palavra de comando de processo" ou "qualquer coisa para corresponder" | sudo awk '{system ("sudo kill" $ 2)}

    
por 02.09.2017 / 08:09

Tags