Je veux tuer une chaîne de processus, par ex.pkill ne tue pas les processus passés descendants immédiats d'un processus donné
PID PPID
100 XXX
101 100
102 101
Lorsque j'utilise pkill -P 100
PID 100 et 101 meurent comme prévu, mais 102 est donnée d'initialisation comme il est PPID.
Comment puis-je forcer pkill à continuer à tuer les processus chaînés après les descendants immédiats d'un processus?
Non, vous ne pouvez pas forcer 'pkill' à faire ce que vous voulez. Chaque processus a une procédure de traitement du signal. Certains programmes sont conçus pour propager le signal reçu à leurs enfants, tandis que d'autres sont destinés à filtrer les signaux. Un service Web est un exemple où le démon superviseur génère des processus enfants. Ce n'est pas une bonne idée pour le démon superviseur de propager le signal vers les enfants car si le démon superviseur meurt, les services Web descendent avec. Une base de données est un exemple dans lequel la propagation du signal est souhaitable en laissant les processus clients mourir lorsque l'enregistreur de journal meurt. – alvits