No estoy seguro de cómo usar supervisord
, pero con pkill
puede usar la opción para matar desde un proceso primario a todos los secundarios. Aquí están los árboles de proceso (comenzando desde mi ejecución de ssh daemon).
$ pstree -a -p 1792
sshd,1792
├─sshd,27150
│ └─sshd,27153
│ └─zsh,27154
│ └─test.sh,27325 ./test.sh
│ └─cat,27326
└─sshd,27182
└─sshd,27184
└─zsh,27185
└─pstree,27357 -a -p 1792
En una sesión Tengo un script test.sh
con pid 27325, y en la otra estoy ejecutando el comando pstree -a -p 1792
(porque sshd
tenían pid 1792)
Y después de ejecutar pkill -TERM -P 27325
:
$ pstree -a -p 1792
sshd,1792
├─sshd,27150
│ └─sshd,27153
│ └─zsh,27154
└─sshd,27182
└─sshd,27184
└─zsh,27185
└─pstree,27387 -a -p 1792
esta pregunta reformularse esencialmente de la esta otra respuesta en stackoverflow: https://stackoverflow.com/a/392155/263969
¿Quizás debería estar en [su]? –