如何使用supervisorctl只重新启动某些进程?

我正在使用supervisord运行一些进程,名为process1,process2,…,process8。 如果我想重新启动进程{1-4},那么如何使用supervisorctl来执行此操作?

supervisord支持进程组 。 您可以将stream程分组到指定的组中并统一pipe理它们。

[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