Você pode usar pgrep
contanto que inclua as -f
opções. Isso torna as pgrep
palavras-chave correspondentes em todo o comando (incluindo argumentos) em vez de apenas no nome do processo.
pgrep -f keyword
Na página de manual :
-f
O padrão normalmente é comparado apenas com o nome do processo. Quando -f
está definido, a linha de comando completa é usada.
Se você realmente deseja evitar o pgrep, tente:
ps -ef | awk '/[k]eyword/{print $2}'
Observe o []
contorno da primeira letra da palavra-chave. Esse é um truque útil para evitar a correspondência do awk
próprio comando.
kill -9 `pgrep -f keyword`
ps aux | grep chrome
[k]
truquepgrep -f
. Meu script estava rodando em um subshell, então eu acho que estava pegando seu comando pai (difícil saber com certeza - o pid que ele retornou sumiu quando o comando terminou de ser executado!)pkill -9 -f keyword
?Experimentar
ps -ef | grep "KEYWORD" | awk '{print $2}'
Esse comando deve fornecer o PID dos processos com KEYWORD neles. Neste caso,
awk
está retornando o que está na 2ª coluna da saída.fonte
| head -1
.ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'
fonte
| xargs kill -9
ao finaleu uso
Este comando deve fornecer um número PID.
fonte
Isso está disponível no Linux: palavra-chave pidof
fonte
Para matar um processo por uma palavra-chave específica, você pode criar um apelido em
~/.bashrc
(linux) ou~/.bash_profile
(mac).fonte
| head -1
tudo isso envolve tudo de forma agradável e organizada.