Il existe une fonction dans htop pour cela depuis longtemps, mais elle était absente du manuel jusqu'en 2018 : appuyez sur la touche c
pour sélectionner le processus actuellement en surbrillance ainsi que tous ses enfants. Ensuite, les opérations qui s'appliquent aux processus sélectionnés (comme la mise à mort à l'aide de la touche k
) s'appliquent au processus et à ses enfants.
Ce n'est pas atomique, cependant. Si de nouveaux enfants sont créés entre le moment où vous appuyez sur c
et au moment où le noyau a tué tous les processus, ceux-ci ne seront pas tués et finiront très probablement par être rattachés au processus init. C'est parce que htop fait une boucle sur les processus sélectionnés et les tue un par un.
J'ai a proposé un correctif pour ajouter une fonctionnalité de destruction de groupe atomique à htop il y a quelque temps, mais l'implémentation n'était pas assez consensuelle pour qu'elle soit fusionnée. Avec cette fonctionnalité, il est possible de tuer un groupe de processus entier de manière atomique à partir de htop. Ce n'est pas exactement la même chose que de tuer un arbre entier, mais AFAIK, le noyau ne fournit aucun moyen de tuer un arbre arbitraire de manière atomique.