Dans un script Bash, voici la solution la plus simple que j’ai trouvée pour faire en sorte que tous les processus enfants soient tués en même temps que le parent :
# kill every children on exit trap "kill -- -$$" EXIT
La commande kill -- -PID
permet de tuer l’ensemble du groupe de processus identifié par PID.
Sachant que dans notre cas, l’ID du groupe de processus est le même que l’ID du processus parent.
Il y aurait aussi peut-être la solution de programmer, dans l’enfant, la commande exit dès que ce dernier reçoit le signal que son parent a changé.