comment redémarrer seulement certains processus en utilisant supervisorctl?

StackOverflow https://stackoverflow.com/questions/9301494

  •  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?

Était-ce utile?

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
scroll top