Você poderia usar algo ao longo destas linhas:
pkill $(pgrep python | grep -xv $(pgrep test.py))
Trabalhando de dentro para fora, isso:
- reúne o PID para test.py com
pgrep test.py
- envia esse PID para
grep -xv
, que será excluído (-v
; a opção-x
diz para corresponder à linha inteira (PID)) da lista reunida por: -
pgrep python
para reunir a lista de scripts python que você quer matar
Você pode precisar ajustar os pgrep para encontrar exatamente os processos python que deseja, mas essa é a estrutura básica. Ajuste-o à sua situação trabalhando de novo de dentro para fora:
-
execute
pgrep test.py
para garantir que ele encontre exatamente o PID que você está esperando. Procure na opçãopgrep -f
para corresponder ao nome completo do processo para ter mais certeza. -
execute
pgrep python
(ou similar) para localizar os "scripts python" que você deseja eliminar. -
junte tudo!