supervisord supporta process groups. È possibile raggruppare i processi in gruppi con nome e gestirli collettivamente.
[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
comando supervisorctl può essere chiamato con il nome del gruppo:
supervisorctl restart foo:
così come con più nomi dei processi:
supervisorctl restart foo:cat1 cat2
E 'sorprendente come non banale è stato per scoprire che un colon deve essere aggiunto quando si inviano comandi a un gruppo di processi. Grazie. – mafrosis
concordato. Penso che 'supervisorctl restart foo: *' rende più chiaro ciò che accade. – Tom
Quindi, per rispondere direttamente alla domanda dell'OP, non è possibile riavviare direttamente un processo specifico. È possibile solo riavviare i gruppi, che richiede un tag di gruppo? – Cerin