80
我正在运行一些使用supervisord的进程,名为process1,process2,...,process8。如果我想重新启动进程{1-4},那么如何使用supervisorctl来执行此操作?如何仅使用supervisorctl重新启动某些进程?
我正在运行一些使用supervisord的进程,名为process1,process2,...,process8。如果我想重新启动进程{1-4},那么如何使用supervisorctl来执行此操作?如何仅使用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
令人惊讶它是多么不平凡地发现,在向进程组发出命令时需要追加冒号。谢谢。 – mafrosis 2013-08-17 07:47:36
同意。我认为'supervisorctl重新启动foo:*'让事情更清楚。 – Tom 2016-07-13 14:29:56
因此,要直接回答OP的问题,您不能直接重新启动特定的过程。您只能重新启动需要组标记的组? – Cerin 2016-12-04 23:37:41