comment redémarrer seulement certains processus en utilisant supervisorctl?
-
25-10-2019 - |
Question
Je l'exécution d'un certain nombre de processus à l'aide de supervisord, du nom de Processus 1, process2, ..., processus8. Si je veux processus de redémarrage {1-4}, comment puis-je faire avec supervisorctl?
La solution
. Vous pouvez les processus de groupe dans des groupes nommés et les gérer ensemble.
[unix_http_server]
file=%(here)s/supervisor.sock
[supervisord]
logfile=supervisord.log
pidfile=supervisord.pid
[program:cat1]
command=cat
[program:cat2]
command=cat
[program:cat3]
command=cat
[group:foo]
programs=cat1,cat3
[supervisorctl]
serverurl=unix://%(here)s/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
commande supervisorctl peut être appelée avec un nom de groupe:
supervisorctl restart foo:
ainsi qu'avec plusieurs noms de processus:
supervisorctl restart foo:cat1 cat2
Autres conseils
Depuis supervisorctl
accepte plusieurs processus sur la ligne de commande, vous pouvez profiter de l'expansion de croisillon shell (par exemple dans Bash) pour contrôler plusieurs processus:
supervisorctl restart process{1..4}
est étendu par le shell dans
supervisorctl restart process1 process2 process3 process4
comme si vous aviez tapé que explicitement.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow