Como matar todos os processos python, exceto um do bash


11

Como posso matar do bash todos os processos python, excluindo um script python. (Eu sei o nome dele, mas seu pid pode ser alterado algumas vezes).

Eu preciso do tipo, pkill -f "python"mas excluindo o script específico do python.

Por favor informar.

Respostas:


13

ps aux |grep python |grep -v 'pattern_of_process_you_dont_want_to_kill' |awk '{print $2}' |xargs kill

Atualização: explicação passo a passo, conforme solicitado nos comentários

  • ps aux |grep python- mostra todos os processos que correspondem ao pythonpadrão
  • grep -v 'pattern_of_process_you_dont_want_to_kill' - excluir processo que você não quer matar
  • awk '{print $2}' - mostra o segundo campo de saída, é PID.
  • xargs kill- aplique o killcomando a cada entrada arg (PID).

Se você não estiver familiarizado com o xargscomando, aconselho que não se preocupe se não o entender imediatamente. Pode parecer bastante complicado pela primeira vez. Eu postei um exemplo muito simples de seu uso, você pode pesquisar no Google por mais.


1
Ótimo, mas você pode explicar como isso funciona, por exemplo, o que é awk '{print $ 2}' e xargs kill?
user370717

awk '{print $2}' - imprime o segundo campo de pssaída, no caso atual PID. xargsaplica killcomando a cada umPID
user1700494 16/08

1
Colocar isso em um comentário é bom, mas prefiro votar na sua resposta depois que esse comentário bem formatado foi integrado à sua resposta.
pintainhos
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.