Saya menjalankan beberapa proses menggunakan supervisord, bernama process1, process2, ..., process8. Jika saya ingin memulai ulang proses {1-4}, bagaimana saya dapat melakukannya dengan supervisorctl?
Saya menjalankan beberapa proses menggunakan supervisord, bernama process1, process2, ..., process8. Jika saya ingin memulai ulang proses {1-4}, bagaimana saya dapat melakukannya dengan supervisorctl?
Jawaban:
supervisord mendukung kelompok proses . Anda dapat mengelompokkan proses ke dalam grup bernama dan mengelolanya secara kolektif.
[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
perintah supervisorctl dapat dipanggil dengan nama grup:
supervisorctl restart foo:
serta dengan beberapa nama proses:
supervisorctl restart foo:cat1 cat2
supervisorctl restart foo:*
membuat apa yang terjadi lebih jelas.
Karena supervisorctl
menerima banyak proses pada baris perintah, Anda dapat memanfaatkan ekspansi brace shell (misalnya di Bash) untuk mengontrol banyak proses:
supervisorctl restart process{1..4}
diperluas oleh cangkang menjadi
supervisorctl restart process1 process2 process3 process4
seolah-olah Anda telah mengetiknya secara eksplisit.