Uma maneira de fazer isso é usar top
para encontrar o pid do processo usando a maior parte da CPU. Eu comecei um porco bash CPU em um terminal:
bash -c "while true; do :; done"
Então, em outro terminal, posso matá-lo da seguinte maneira:
kill $( top -l2 | grep bash | sort -nrk3 | awk '{print $1;exit}' )
Note que, como isso é osx , esse é o BSD top
e não a versão GNU.
-
-l2
diz ao top para correr por 2 iterações - o primeiro precisa ser ignorado, pois ele apenas reporta 0% de CPU para todos os processos. - O
grep
filtra apenas as linhas bash. Observe que isso pode precisar de mais trabalho se sua expressão grep corresponder a outras partes da saídatop
. -
sort
classifica a saída numericamente na ordem inversa pela terceira coluna (% da CPU) -
head
obtém a primeira linha (maior CPU) -
cut
obtém a primeira coluna (PID) - O texto acima é executado em uma substituição de comando
$()
e o PID numérico é passado diretamente parakill
Nas máquinas GNU / Linux, o equivalente é:
kill $(top -bn1 | grep bash | sort -nrk9 | awk '{print $1;exit}')