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.
-
-l2diz 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
grepfiltra apenas as linhas bash. Observe que isso pode precisar de mais trabalho se sua expressão grep corresponder a outras partes da saídatop. -
sortclassifica a saída numericamente na ordem inversa pela terceira coluna (% da CPU) -
headobtém a primeira linha (maior CPU) -
cutobté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}')