Non sono sicuro di come utilizzare supervisord
, ma con pkill
è possibile utilizzare l'opzione -P
per terminare da un processo padre a tutti i figli. Ecco gli alberi dei processi (a partire dal mio demone ssh in esecuzione).
$ 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
In una sessione di Ho uno script test.sh
con pid 27325, e l'altra che sto eseguendo il comando pstree -a -p 1792
(perché sshd
avevano pid 1792)
E dopo corro 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
la risposta è stata sostanzialmente riformulato dal quest'altra risposta su StackOverflow: https://stackoverflow.com/a/392155/263969
fonte
2012-02-23 00:18:46
Forse dovrebbe essere su [su]? –