Ao depurar, costumo usar killall
para matar um processo. Este é realmente um mau hábito porque pode haver mais processos em execução com o mesmo nome no sistema.
Normalmente, o processo que eu quero matar é um descendente do mesmo pai (ou avô) de onde killall
foi iniciado. Muitas vezes eu quero matar um programa iniciado no mesmo terminal ou um terminal em outra guia (no Konsole).
Existe uma maneira de dizer killall
(ou outro assassino) para limitar o escopo aos processos iniciados a partir deste terminal ou processos que são descendentes do mesmo (grande) pai?
Se você deseja matar todos os processos desta sessão (processos que possuem o tty atual como terminal de controle):
Ou ainda mais simples:
De acordo com pkill(1):
Ambas as
-t
opções-s
podem ser combinadas (ANDed) com um padrão e outras opções, por exemplo.pgrep -s0 -x foo
para os processos desta sessão denominados exatamentefoo
. Infelizmente, nempgrep
nem suporta predicadospkill
complexos de estilo.tcpdump