Supervisorctlを使用して特定のプロセスのみを再起動する方法は?

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

  •  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

それを明示的に入力したかのように。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top