nonsudo kill processa correspondência de string

0

Eu estou tentando escrever um comando que irá matar todos os processos correspondentes a uma string. Eu tenho permissões para executar kill -9 , mas quando tento fazer pkill -f string recebo operation not permitted .

Aqui está o que eu tenho até agora:

 ps aux  | grep -E 'python2|python3'

Isso obtém todos os PIDs de todos os processos python. No entanto, minha magia sed e grep não é boa o suficiente para analisar os pids a serem feitos:

kill -9 | <sed magic> | grep -E 'python2|python3'

Alguém pode ajudar com essa mágica?

    
por Tommy 10.05.2016 / 17:22

1 resposta

2

pgrep "$expression" | xargs kill -9

Isso usará pgrep para pesquisar PIDs que correspondam ao nome do processo especificado e, em seguida, retrocederá esses PIDs para kill para execução.

Dito isto, kill -9 nunca deve ser algo que você está executando como rotina; os processos devem ser projetados para manipular um sinal TERM (15) e limpá-los adequadamente.

Além disso, esteja ciente de que você só pode enviar sinais para os processos que você possui (se você não for o superusuário), então se você corresponder a qualquer processo que você não possui e tentar enviar sinais, você estará legitimamente admoestado.

    
por 11.05.2016 / 00:50

Tags