O htop me permite ver árvores de processos dentro do shell. Eu posso matar processos pressionando F9 (KILL)
e selecionando o sinal (por exemplo 15 SIGTERM
) que quero enviar para um trabalho para matar.
No entanto, isso só me permite matar um processo de cada vez. Existe uma maneira de matar uma árvore completa de processos usando htop
?
Você pode seqüestrar
htop
os
comando. Emhtop
, pressionars
chamastrace -p <the-pid-of-the-selected-process>
.Então, o que você pode fazer é criar um
strace
comando que contenha algo como:E coloque-o em algum diretório como
~/.htop-hijack
e chame htop como:Em seguida, pressionar
s
invocaria esse comando em vez destrace
(você precisa pressionar Esc para retornar à tela principal posteriormente).fonte
Há um recurso para isso há muito tempo, mas estava ausente do manual até 2018: pressione a
c
tecla para selecionar o processo realçado no momento, bem como todos os seus filhos. Em seguida, as operações que se aplicam aos processos selecionados (como uma morte usando ak
chave) se aplicam ao processo e seus filhos.Isso não é atômico, no entanto. Se surgirem novos filhos entre o momento em que você pressiona
c
e o momento em que o kernel matou todos os processos, eles não serão mortos e provavelmente acabarão sendo anexados novamente ao processo init. Isso ocorre porque o htop está repetindo os processos selecionados e matando-os um por um.Eu tenho proposto um patch para adicionar um recurso de matando grupo atômica para htop um tempo atrás, mas a implementação não foi suficiente consensual para que possa ser mescladas. Com isso, é possível matar todo um grupo de processos atomicamente do htop. Isso não é exatamente o mesmo que matar uma árvore inteira, mas AFAIK, o kernel não fornece nenhuma maneira de matar uma árvore arbitrária atomicamente.
fonte