ฉันใช้กระบวนการบางอย่างโดยใช้ผู้บังคับบัญชาชื่อ process1, process2, ... , process8 หากต้องการเริ่มกระบวนการใหม่ {1-4} ฉันจะดำเนินการกับ Supervisorctl ได้อย่างไร
ฉันใช้กระบวนการบางอย่างโดยใช้ผู้บังคับบัญชาชื่อ process1, process2, ... , process8 หากต้องการเริ่มกระบวนการใหม่ {1-4} ฉันจะดำเนินการกับ Supervisorctl ได้อย่างไร
คำตอบ:
สนับสนุน supervisord ประมวลผลกลุ่ม คุณสามารถจัดกลุ่มกระบวนการเป็นกลุ่มที่มีชื่อและจัดการร่วมกันได้
[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 restart foo:*
ทำให้สิ่งที่เกิดขึ้นชัดเจนขึ้น
เนื่องจากsupervisorctl
ยอมรับหลายกระบวนการในบรรทัดคำสั่งคุณสามารถใช้ประโยชน์จากการขยายเชลล์รั้ง (เช่นใน Bash) เพื่อควบคุมกระบวนการต่างๆ:
supervisorctl restart process{1..4}
ถูกขยายโดยเปลือกเป็น
supervisorctl restart process1 process2 process3 process4
ราวกับว่าคุณพิมพ์ออกมาอย่างโจ่งแจ้ง