Supervisor stoppt Kindprozesse

Eines der Probleme, die ich Gesicht mit supervisord ist, dass wenn ich einen Befehl, der wiederum einen anderen Prozess hervorbringt, supervisord ist nicht in der Lage es zu töten.

Ich habe zum Beispiel ein java-Prozess, die, wenn Sie normal läuft ist wie

 $ zkServer.sh start-foreground
 $ ps -eaf | grep zk
 user 30404 28280  0 09:21 pts/2    00:00:00 bash zkServer.sh start-foreground
 user 30413 30404 76 09:21 pts/2    00:00:10 java -Dzookeeper.something..something

Den supervisord config-Datei sieht folgendermaßen aus:

[program:zookeeper]
command=zkServer.sh start-foreground
autorestart=true
stopsignal=KILL

Diese Art von Prozessen, die mehrere Kinder nicht gut behandelt von supervisord wenn es darum geht, Sie zu stoppen von supervisorctl. Also, wenn ich dieses aus der supervisord und versuchen Sie zu stoppen von supervisorctl, nur die top-level-Prozesses getötet wird, aber nicht die tatsächliche java-Prozess.

InformationsquelleAutor der Frage FUD | 2012-02-01

Schreibe einen Kommentar