bash kill process por chamada

1

Estou usando o bash para iniciar várias instâncias de um programa python, assim:

python example.py -id $i

em que $i é o ID dado à instância. Todos os processos são iniciados no mesmo usuário e imagine que não consiga acompanhar os IDs do processo. Seria possível matar a instância específica apenas pelo comando (com id) que a chamava? Por exemplo, algo como pkill 'python example.py -id 2 , que obviamente não funciona.

    
por Jeroen Smulders 25.07.2016 / 23:27

1 resposta

0

kill $(ps -ef | grep '[s]earch-string' | sed -re 's/[[:blank:]]+/\t/g' | cut -f2)

  1. ps -ef : obtém lista de processos com argumentos
  2. grep : filtros para o registro que você quer que o [] pare o grep se encontrando.
  3. sed -re 's/[[:blank:]]+/\t/g' : converte espaço em uma única guia
  4. cut -f2 : extrai o campo pid
por 25.07.2016 / 23:46