Supervisorctlを使用して特定のプロセスのみを再起動する方法は?
-
25-10-2019 - |
質問
Process1、process2、...、process8という名前の監督を使用していくつかのプロセスを実行しています。プロセス{1-4}を再起動したい場合、supervisorctlでそれを行うにはどうすればよいですか?
解決
監督サポート プロセスグループ. 。プロセスを名前付きグループにグループ化し、まとめて管理できます。
[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
他のヒント
以来 supervisorctl
コマンドラインの複数のプロセスを受け入れると、シェルブレースの拡張(BASHなど)を利用して、複数のプロセスを制御できます。
supervisorctl restart process{1..4}
拡張されています シェルによって の中へ
supervisorctl restart process1 process2 process3 process4
それを明示的に入力したかのように。
所属していません StackOverflow