我正在使用 supervisord 运行一些进程,名为 process1、process2、...、process8。如果我想重新启动进程{1-4},我该如何使用 supervisorctl 来实现?
最佳答案
supervisord 支持 process groups 。您可以将进程分组到命名组中并集中管理它们。
[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
可以使用组名调用 supervisorctl 命令:
supervisorctl restart foo:
以及多个进程名称:
supervisorctl restart foo:cat1 cat2
关于supervisord - 如何使用 supervisorctl 仅重启某些进程?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9301494/