[program:yourapp]
command = bash -c "sleep 60 && exec urcmd'
startsecs = 65 ;
und dann
supervisorctl -c your_config_file reload
1. Sie müssen den exec
Befehl verwenden, andernfalls wird ein Unterfortschritt ausgelöst, sleep 60 && exec your command
und Ihr Fortschritt sieht wie folgt aus
$ ps -ef|grep urcmd
work 1818 1698 0 17:35 ? 00:00:00 bash -c sleep 60 && urcmd
work 3872 1818 0 17:36 ? 00:00:00 urcmd
und wenn Sie dann supervisorctl
urApp stoppen, stoppen Sie den Fortschritt von 1818 und lassen 3872 einen verwaisten Fortschritt
2. empfehlen, die Startsekunden auf 5 mehr als die Schlafsekunden zu ändern. Wenn Sie diese App starten und den Status überprüfen, wird angezeigt, dass sie startet
$supervisorctl -c your_config_file status;echo;ps -ef|grep urcmd
urapp STARTING
otherapp RUNNING pid 13502, uptime 0:00:55
$supervisorctl -c your_config_file status;echo;ps -ef|grep urcmd
urapp RUNNING pid 13503, uptime 0:00:05
otherapp RUNNING pid 13502, uptime 0:00:65
Andernfalls erhalten Sie beim Starten der App und beim Überprüfen des Status einen laufenden Status, wenn Sie den Wert kleiner als die Schlafsekunden festlegen. Vor der tatsächlichen Ausführung wird jedoch noch cmd angezeigt
3.Wenn Sie Ihre Konfigurationsdatei ändern, müssen Sie cmd neu laden oder einfach Ihren Supervisord neu starten, damit es funktioniert