GoGPT Best VPN GoSearch

OnWorks favicon

ຜູ້ຄຸມງານ - ອອນລາຍໃນຄລາວ

ແລ່ນຜູ້ຄຸມງານໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຜູ້ຄວບຄຸມຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


ຜູ້ຄຸມງານ - ເອກະສານຜູ້ຄຸມງານ

Supervisor ແມ່ນລະບົບລູກຄ້າ / ເຄື່ອງແມ່ຂ່າຍທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດຕິດຕາມແລະຄວບຄຸມຕົວເລກ
ຂອງຂະບວນການໃນລະບົບປະຕິບັດການທີ່ຄ້າຍຄືກັບ UNIX.

ມັນແບ່ງປັນບາງເປົ້າຫມາຍດຽວກັນຂອງບັນດາໂຄງການເຊັ່ນ: ເປີດຕົວ, daemontools, ແລະ runit. ບໍ່​ມັກ
ບາງໂຄງການເຫຼົ່ານີ້, ມັນບໍ່ໄດ້ຫມາຍຄວາມວ່າຈະດໍາເນີນການເປັນການທົດແທນ ໃນ​ມັນ ເປັນ "ລະຫັດຂະບວນການ
1. ແທນທີ່ຈະ, ມັນຫມາຍຄວາມວ່າຈະຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມຂະບວນການທີ່ກ່ຽວຂ້ອງກັບໂຄງການຫຼື a
ລູກຄ້າ, ແລະຫມາຍຄວາມວ່າຈະເລີ່ມຕົ້ນຄືກັບໂຄງການອື່ນໆໃນເວລາ boot.

ເກີດຂື້ນ ເອກະສານອ້າງອີງ


ການນໍາສະເຫນີ
ພາບລວມ
Supervisor ແມ່ນລະບົບລູກຄ້າ / ເຄື່ອງແມ່ຂ່າຍທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດຄວບຄຸມຈໍານວນຂອງ
ຂະບວນການໃນລະບົບປະຕິບັດການທີ່ຄ້າຍຄືກັບ UNIX. ມັນໄດ້ຮັບການດົນໃຈຈາກສິ່ງຕໍ່ໄປນີ້:

ສະດວກສະບາຍ
ມັນມັກຈະບໍ່ສະດວກທີ່ຈະຕ້ອງຂຽນ rc.d scripts ສໍາລັບທຸກໆຂະບວນການດຽວ
ຕົວຢ່າງ. rc.d scripts ແມ່ນຮູບແບບຂອງຂະບວນການທົ່ວໄປຕ່ໍາສຸດທີ່ດີ
initialization/autostart/management, ແຕ່ພວກເຂົາສາມາດເຈັບປວດໃນການຂຽນແລະຮັກສາ.
ນອກຈາກນັ້ນ, rc.d scripts ບໍ່ສາມາດ restart ອັດຕະໂນມັດຂະບວນການ crashed ແລະຈໍານວນຫຼາຍ
ໂປລແກລມບໍ່ restart ຕົວມັນເອງຢ່າງຖືກຕ້ອງເມື່ອເກີດອຸປະຕິເຫດ. ຜູ້ຄຸມງານເລີ່ມຂະບວນການ
ເປັນຂະບວນການຍ່ອຍຂອງມັນ, ແລະສາມາດຖືກຕັ້ງຄ່າເພື່ອ restart ພວກມັນໂດຍອັດຕະໂນມັດເມື່ອເກີດອຸປະຕິເຫດ.
ມັນຍັງສາມາດຖືກຕັ້ງຄ່າໂດຍອັດຕະໂນມັດເພື່ອເລີ່ມຕົ້ນຂະບວນການຕ່າງໆຕາມການຮຽກຮ້ອງຂອງຕົນເອງ.

ຄວາມຖືກຕ້ອງ
ມັນມັກຈະເປັນການຍາກທີ່ຈະໄດ້ຮັບສະຖານະຂຶ້ນ/ລົງທີ່ຖືກຕ້ອງກ່ຽວກັບຂະບວນການໃນ UNIX. Pidfiles
ມັກຕົວະ. Supervisord ເລີ່ມຕົ້ນຂະບວນການເປັນຂະບວນການຍ່ອຍ, ສະນັ້ນມັນສະເຫມີຮູ້ຄວາມຈິງ
ສະຖານະຂຶ້ນ/ລົງຂອງລູກຂອງມັນ ແລະສາມາດສອບຖາມຂໍ້ມູນນີ້ໄດ້ຢ່າງສະດວກ.

ຄະນະຜູ້ແທນ
ຜູ້ໃຊ້ທີ່ຕ້ອງການຄວບຄຸມສະຖານະຂະບວນການມັກຈະຕ້ອງການພຽງແຕ່ເຮັດແນວນັ້ນ. ພວກເຂົາເຈົ້າບໍ່ຕ້ອງການຫຼື
ຕ້ອງ​ການ​ການ​ເຂົ້າ​ເຖິງ​ເປືອກ​ຫຸ້ມ​ນອກ​ຢ່າງ​ເຕັມ​ທີ່​ກັບ​ເຄື່ອງ​ທີ່​ຂະ​ບວນ​ການ​ກໍາ​ລັງ​ແລ່ນ​.
ຂະບວນການທີ່ຟັງຢູ່ໃນພອດ TCP "ຕ່ໍາ" ມັກຈະຕ້ອງໄດ້ຮັບການເລີ່ມຕົ້ນແລະເລີ່ມຕົ້ນໃຫມ່ເປັນ
ຜູ້ໃຊ້ຮາກ (ເປັນຄວາມຜິດພາດຂອງ UNIX). ປົກກະຕິແລ້ວມັນເປັນກໍລະນີທີ່ມັນດີເລີດທີ່ຈະອະນຸຍາດໃຫ້
"ປົກກະຕິ" ປະຊາຊົນທີ່ຈະຢຸດຫຼື restart ຂະບວນການດັ່ງກ່າວ, ແຕ່ສະຫນອງໃຫ້ເຂົາເຈົ້າມີ shell ເຂົ້າເຖິງ
ມັກຈະເປັນໄປບໍ່ໄດ້, ແລະການໃຫ້ການເຂົ້າເຖິງຮາກຫຼືການເຂົ້າເຖິງ sudo ແມ່ນເລື້ອຍໆ
ເປັນໄປບໍ່ໄດ້. ມັນຍັງ (ຖືກຕ້ອງ) ຍາກທີ່ຈະອະທິບາຍໃຫ້ເຂົາເຈົ້າວ່າເປັນຫຍັງບັນຫານີ້ມີຢູ່.
ຖ້າຜູ້ຄວບຄຸມເລີ່ມຕົ້ນເປັນຮາກ, ມັນເປັນໄປໄດ້ທີ່ຈະອະນຸຍາດໃຫ້ຜູ້ໃຊ້ "ປົກກະຕິ" ຄວບຄຸມ
ຂະບວນການດັ່ງກ່າວໂດຍບໍ່ຈໍາເປັນຕ້ອງອະທິບາຍ intricacies ຂອງບັນຫາໃຫ້ເຂົາເຈົ້າ.
Supervisorctl ອະນຸຍາດໃຫ້ມີຮູບແບບຈໍາກັດຫຼາຍຂອງການເຂົ້າເຖິງເຄື່ອງຈັກ, ເປັນສິ່ງຈໍາເປັນທີ່ອະນຸຍາດໃຫ້
ຜູ້​ໃຊ້​ເພື່ອ​ເບິ່ງ​ສະ​ຖາ​ນະ​ພາບ​ຂະ​ບວນ​ການ​ແລະ​ການ​ຄວບ​ຄຸມ​ຂະ​ບວນ​ການ​ຍ່ອຍ​ທີ່​ຄວບ​ຄຸມ​ໂດຍ​ການ emitting​
"stop", "start", ແລະ "restart" ຄໍາສັ່ງຈາກ shell ຫຼື web UI ງ່າຍໆ.

ກຸ່ມຂະບວນການ
ຂະບວນການມັກຈະຕ້ອງໄດ້ຮັບການເລີ່ມຕົ້ນແລະຢຸດຢູ່ໃນກຸ່ມ, ບາງຄັ້ງກໍ່ຢູ່ໃນ "ບູລິມະສິດ
ຄໍາ​ສັ່ງ​" ມັນ​ມັກ​ຈະ​ເປັນ​ການ​ຍາກ​ທີ່​ຈະ​ອະ​ທິ​ບາຍ​ໃຫ້​ປະ​ຊາ​ຊົນ​ວິ​ທີ​ການ​ເຮັດ​ແນວ​ນີ້​
ທ່ານ​ຈະ​ກໍາ​ນົດ​ບູ​ລິ​ມະ​ສິດ​ຂອງ​ຂະ​ບວນ​ການ​, ແລະ​ອະ​ນຸ​ຍາດ​ໃຫ້​ຜູ້​ໃຊ້​ເພື່ອ​ປ່ອຍ​ຄໍາ​ສັ່ງ​ໂດຍ​ຜ່ານ​ການ​
supervisorctl client ເຊັ່ນ "start all", ແລະ "restart all", ເຊິ່ງເລີ່ມຕົ້ນພວກມັນຢູ່ໃນ
ລຳດັບຄວາມສຳຄັນທີ່ໄດ້ກຳນົດໄວ້ລ່ວງໜ້າ. ນອກຈາກນັ້ນ, ຂະບວນການສາມາດຖືກຈັດເປັນກຸ່ມ "ຂະບວນການ
ກຸ່ມ" ແລະຊຸດຂະບວນການທີ່ກ່ຽວຂ້ອງກັບເຫດຜົນສາມາດຖືກຢຸດແລະເລີ່ມຕົ້ນເປັນຫນ່ວຍງານ.

ຄຸນ​ລັກ​ສະ​ນະ
ງ່າຍດາຍ
Supervisor ຖືກຕັ້ງຄ່າໂດຍຜ່ານໄຟລ໌ config ແບບ INI ແບບງ່າຍດາຍທີ່ງ່າຍຕໍ່ການຮຽນຮູ້.
ມັນສະຫນອງທາງເລືອກຫຼາຍຕໍ່ຂະບວນການທີ່ເຮັດໃຫ້ຊີວິດຂອງທ່ານງ່າຍຂຶ້ນເຊັ່ນການເລີ່ມຕົ້ນໃຫມ່ລົ້ມເຫລວ
ຂະບວນການແລະການຫມູນວຽນບັນທຶກອັດຕະໂນມັດ.

ເປັນໃຈກາງ
Supervisor ໃຫ້ເຈົ້າບ່ອນດຽວເພື່ອເລີ່ມຕົ້ນ, ຢຸດ, ແລະຕິດຕາມຂະບວນການຂອງເຈົ້າ.
ຂະບວນການສາມາດຄວບຄຸມເປັນສ່ວນບຸກຄົນຫຼືເປັນກຸ່ມ. ທ່ານສາມາດ configure Supervisor ກັບ
ໃຫ້ເສັ້ນຄໍາສັ່ງໃນທ້ອງຖິ່ນ ຫຼືຫ່າງໄກສອກຫຼີກ ແລະສ່ວນຕິດຕໍ່ເວັບ.

ປະສິດທິພາບ
Supervisor ເລີ່ມຕົ້ນຂະບວນການຍ່ອຍຂອງມັນຜ່ານ fork/exec ແລະຂະບວນການຍ່ອຍບໍ່ daemonize. ໄດ້
ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ​ສັນ​ຍານ Supervisor ໃນ​ທັນ​ທີ​ໃນ​ເວ​ລາ​ທີ່​ຂະ​ບວນ​ການ​ຢຸດ​ເຊົາ, ບໍ່​ເຫມືອນ​ກັບ​ບາງ
ວິທີແກ້ໄຂທີ່ອີງໃສ່ໄຟລ໌ PID ທີ່ມີບັນຫາ ແລະການສຳຫຼວດແຕ່ລະໄລຍະເພື່ອປິດເປີດຄືນໃໝ່ບໍ່ສຳເລັດ
ຂະບວນການ.

ຂະຫຍາຍໄດ້
ຜູ້ຄຸມງານມີໂປຣໂຕຄໍການແຈ້ງເຕືອນເຫດການງ່າຍໆທີ່ບັນດາໂຄງການຂຽນໄວ້ໃນອັນໃດກໍໄດ້
ພາສາສາມາດໃຊ້ເພື່ອຕິດຕາມມັນ, ແລະການໂຕ້ຕອບ XML-RPC ສໍາລັບການຄວບຄຸມ. ມັນຍັງຖືກສ້າງຂື້ນ
ດ້ວຍຈຸດຂະຫຍາຍທີ່ສາມາດນຳໃຊ້ໄດ້ໂດຍນັກພັດທະນາ Python.

ເຂົ້າກັນໄດ້
Supervisor ເຮັດວຽກພຽງແຕ່ກ່ຽວກັບທຸກສິ່ງທຸກຢ່າງຍົກເວັ້ນສໍາລັບ Windows. ມັນໄດ້ຖືກທົດສອບແລະ
ຮອງຮັບໃນ Linux, Mac OS X, Solaris, ແລະ FreeBSD. ມັນຖືກຂຽນໄວ້ໃນ Python,
ດັ່ງນັ້ນການຕິດຕັ້ງບໍ່ຈໍາເປັນຕ້ອງມີ C compiler.

ການພິສູດ
ໃນຂະນະທີ່ Supervisor ຖືກພັດທະນາຢ່າງຫ້າວຫັນໃນມື້ນີ້, ມັນບໍ່ແມ່ນຊອບແວໃຫມ່. ຜູ້ຄຸມງານ
ໄດ້ປະມານສໍາລັບປີແລະຖືກນໍາໃຊ້ແລ້ວໃນເຄື່ອງແມ່ຂ່າຍຈໍານວນຫຼາຍ.

Supervisor ອົງປະກອບ
ຜູ້ຄຸມງານ
ຊິ້ນສ່ວນເຊີບເວີຂອງຜູ້ເບິ່ງແຍງແມ່ນມີຊື່ ຜູ້ຄຸມງານ. ມັນເປັນຄວາມຮັບຜິດຊອບສໍາລັບການເລີ່ມຕົ້ນ
ໂຄງ​ການ​ເດັກ​ຢູ່​ໃນ​ການ​ຮຽກ​ຮ້ອງ​ຂອງ​ຕົນ​ເອງ​, ການ​ຕອບ​ສະ​ຫນອງ​ກັບ​ຄໍາ​ສັ່ງ​ຈາກ​ລູກ​ຄ້າ​, restarting​
crashed ຫຼືອອກຈາກຂະບວນການຍ່ອຍ, ບັນທຶກຂະບວນການຍ່ອຍຂອງມັນ stdout ແລະ stderr ຜົນຜະລິດ, ແລະ
ການສ້າງແລະຈັດການ "ເຫດການ" ທີ່ສອດຄ້ອງກັນກັບຈຸດໃນຂະບວນການຍ່ອຍຕະຫຼອດຊີວິດ.

ຂະບວນການເຊີຟເວີໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ. ປົກກະຕິແລ້ວນີ້ແມ່ນຕັ້ງຢູ່ໃນ
/etc/supervisord.conf. ໄຟລ໌ການຕັ້ງຄ່ານີ້ແມ່ນໄຟລ໌ການຕັ້ງຄ່າຮູບແບບ "Windows-INI".
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຮັກສາໄຟລ໌ນີ້ໃຫ້ປອດໄພໂດຍຜ່ານການອະນຸຍາດລະບົບໄຟລ໌ທີ່ເຫມາະສົມເພາະວ່າມັນ
ອາດມີຊື່ຜູ້ໃຊ້ ແລະລະຫັດຜ່ານທີ່ບໍ່ໄດ້ເຂົ້າລະຫັດໄວ້.

supervisorctl
ຊິ້ນສ່ວນລູກຂ່າຍເສັ້ນຄໍາສັ່ງຂອງຜູ້ຄຸມງານມີຊື່ supervisorctl. ມັນສະ ໜອງ ກ
ການ​ໂຕ້​ຕອບ​ທີ່​ຄ້າຍ​ຄື shell ກັບ​ຄຸນ​ນະ​ສົມ​ບັດ​ສະ​ຫນອງ​ໃຫ້​ໂດຍ​ ຜູ້ຄຸມງານທີ່ຢູ່ ຈາກ supervisorctl, ເປັນ
ຜູ້​ໃຊ້​ສາ​ມາດ​ເຊື່ອມ​ຕໍ່​ກັບ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​ ຜູ້ຄຸມງານ ຂະບວນການ, ໄດ້ຮັບສະຖານະພາບກ່ຽວກັບຂະບວນການຍ່ອຍ
ຄວບຄຸມໂດຍ, ຢຸດແລະເລີ່ມຕົ້ນຂະບວນການຍ່ອຍຂອງ, ແລະໄດ້ຮັບບັນຊີລາຍຊື່ຂອງຂະບວນການແລ່ນຂອງ a
ຜູ້ຄຸມງານ.

ລູກຄ້າແຖວຄໍາສັ່ງສົນທະນາກັບເຊີບເວີໃນທົ່ວຊັອກເກັດໂດເມນ UNIX ຫຼືອິນເຕີເນັດ
(TCP) ເຕົ້າຮັບ. ເຄື່ອງແມ່ຂ່າຍສາມາດຢືນຢັນວ່າຜູ້ໃຊ້ຂອງລູກຄ້າຄວນນໍາສະເຫນີ
ການກວດສອບຄວາມຖືກຕ້ອງກ່ອນທີ່ມັນຈະອະນຸຍາດໃຫ້ລາວປະຕິບັດຄໍາສັ່ງ. ລູກຄ້າ
ໂດຍປົກກະຕິຂະບວນການໃຊ້ໄຟລ໌ການຕັ້ງຄ່າດຽວກັນກັບເຄື່ອງແມ່ຂ່າຍແຕ່ການຕັ້ງຄ່າໃດໆ
ໄຟລ໌ທີ່ມີ a [ຜູ້ຄຸມງານ] ພາກສ່ວນໃນມັນຈະເຮັດວຽກ.

ເຊີບເວີເວັບ
A (sparse) ການໂຕ້ຕອບຜູ້ໃຊ້ເວັບໄຊຕ໌ທີ່ມີຫນ້າທີ່ປຽບທຽບກັບ supervisorctl ອາດຈະເປັນ
ເຂົ້າເຖິງຜ່ານຕົວທ່ອງເວັບຖ້າທ່ານເລີ່ມຕົ້ນ ຜູ້ຄຸມງານ ຕໍ່ກັບຊ່ອງສຽບອິນເຕີເນັດ. ຢ້ຽມຢາມ
URL ເຊີບເວີ (ເຊັ່ນ http://localhost: 9001 /) ເພື່ອ​ເບິ່ງ​ແລະ​ຄວບ​ຄຸມ​ສະ​ຖາ​ນະ​ພາບ​ຂະ​ບວນ​ການ​ໂດຍ​ຜ່ານ​ການ​
ການໂຕ້ຕອບຂອງເວັບໄຊຕ໌ຫຼັງຈາກເປີດໃຊ້ໄຟລ໌ການຕັ້ງຄ່າ [inet_http_server] ສ່ວນ.

ການໂຕ້ຕອບ XML-RPC
ເຊີບເວີ HTTP ດຽວກັນທີ່ໃຫ້ບໍລິການ UI ເວັບໃຫ້ບໍລິການໃນການໂຕ້ຕອບ XML-RPC ທີ່ສາມາດເປັນ
ໃຊ້ເພື່ອສອບຖາມ ແລະຄວບຄຸມຜູ້ຄຸມງານ ແລະໂຄງການທີ່ມັນແລ່ນ. ເບິ່ງ xml_rpc.

ເວທີ ຄວາມຕ້ອງການ
Supervisor ໄດ້​ຮັບ​ການ​ທົດ​ສອບ​ແລະ​ເປັນ​ທີ່​ຮູ້​ຈັກ​ເພື່ອ​ດໍາ​ເນີນ​ການ​ໃນ Linux (Ubuntu 9.10​)​, Mac OS X​
(10.4/10.5/10.6), ແລະ Solaris (10 ສໍາລັບ Intel) ແລະ FreeBSD 6.1. ມັນຄົງຈະເຮັດວຽກໄດ້ດີ
ລະບົບ UNIX ສ່ວນໃຫຍ່.

ຜູ້ຄຸມງານຈະ ບໍ່ ແລ່ນຢູ່ໃນທຸກລຸ້ນຂອງ Windows.

Supervisor ເປັນທີ່ຮູ້ຈັກທີ່ຈະເຮັດວຽກກັບ Python 2.4 ຫຼືຫຼັງຈາກນັ້ນແຕ່ຈະບໍ່ເຮັດວຽກພາຍໃຕ້ສະບັບໃດ
ຂອງ Python 3.

ເຮັດວຽກ Supervisor
ພາກນີ້ອ້າງເຖິງ ກ BINDIR ໃນເວລາທີ່ອະທິບາຍວິທີການດໍາເນີນການ ຜູ້ຄຸມງານ ແລະ
supervisorctl ຄໍາສັ່ງ. ນີ້ແມ່ນລາຍຊື່ "bindir" ທີ່ການຕິດຕັ້ງ Python ຂອງທ່ານມີ
ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​ກັບ​. ຕົວຢ່າງ, ສໍາລັບການຕິດຕັ້ງ Python ທີ່ຕິດຕັ້ງຜ່ານ
/ configure --prefix=/usr/local/py; ເຮັດໃຫ້; ເຮັດໃຫ້ ການຕິດຕັ້ງ, BINDIR ຈະ /usr/local/py/bin.
ນາຍແປພາສາ Python ໃນເວທີທີ່ແຕກຕ່າງກັນໃຊ້ທີ່ແຕກຕ່າງກັນ BINDIR. ເບິ່ງຜົນຜະລິດຂອງ
setup.py ການຕິດຕັ້ງ ຖ້າເຈົ້າບໍ່ສາມາດຄິດອອກໄດ້ວ່າຂອງເຈົ້າຢູ່ໃສ.

ເພີ່ມຕື່ມ a ໂຄງການ
ກ່ອນທີ່ຈະ ຜູ້ຄຸມງານ ຈະເຮັດຫຍັງທີ່ເປັນປະໂຫຍດສໍາລັບທ່ານ, ທ່ານຈະຕ້ອງເພີ່ມຢ່າງຫນ້ອຍຫນຶ່ງອັນ
ໂຄງການ ພາກ​ສ່ວນ​ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ຕົນ​. ໄດ້ ໂຄງການ ພາກສ່ວນຈະກໍານົດໂຄງການທີ່ເປັນ
ດໍາເນີນການແລະຈັດການໃນເວລາທີ່ທ່ານຮຽກຮ້ອງ ຜູ້ຄຸມງານ ຄໍາສັ່ງ. ເພື່ອເພີ່ມໂຄງການ, ທ່ານຈະຕ້ອງ
ແກ້ໄຂ supervisord.conf ຍື່ນ.

ຫນຶ່ງໃນໂຄງການທີ່ງ່າຍດາຍທີ່ສຸດທີ່ຈະດໍາເນີນການແມ່ນ UNIX cat ໂຄງການ. ກ ໂຄງການ ສ່ວນ
ທີ່ຈະດໍາເນີນການ cat ໃນ​ເວ​ລາ​ທີ່ ຜູ້ຄຸມງານ ຂະບວນການເລີ່ມຕົ້ນຂຶ້ນແມ່ນສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້.

[ໂຄງການ: foo]
ຄຳ ສັ່ງ =/bin/cat

stanza ນີ້ອາດຈະຖືກຕັດແລະວາງເຂົ້າໄປໃນ supervisord.conf ໄຟລ໌. ນີ້ແມ່ນງ່າຍດາຍທີ່ສຸດ
ການຕັ້ງຄ່າໂຄງການທີ່ເປັນໄປໄດ້, ເພາະວ່າມັນພຽງແຕ່ຕັ້ງຊື່ຄໍາສັ່ງ. ການ​ຕັ້ງ​ຄ່າ​ໂຄງ​ການ​
ພາກສ່ວນມີຫຼາຍທາງເລືອກໃນການຕັ້ງຄ່າອື່ນໆທີ່ບໍ່ໄດ້ສະແດງຢູ່ທີ່ນີ້. ເບິ່ງ
programx_section ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.

ເຮັດວຽກ ຜູ້ຄຸມງານ
ເພື່ອເລີ່ມຕົ້ນ ຜູ້ຄຸມງານ, ດໍາເນີນການ $BINDIR/ຜູ້ຄຸມງານ. ຂະບວນການຜົນໄດ້ຮັບຈະ daemonize
ຕົວຂອງມັນເອງແລະແຍກອອກຈາກ terminal. ມັນຮັກສາບັນທຶກການດໍາເນີນງານຢູ່ $CWD/supervisor.log by
Default

ທ່ານ​ອາດ​ຈະ​ເລີ່ມ​ຕົ້ນ​ການ​ ຜູ້ຄຸມງານ ການ​ປະ​ຕິ​ບັດ​ຢູ່​ໃນ foreground ໄດ້​ໂດຍ​ຜ່ານ​ການ​ -n ທຸງ​ຂອງ​ຕົນ​
ເສັ້ນຄໍາສັ່ງ. ອັນນີ້ເປັນປະໂຫຍດເພື່ອແກ້ໄຂບັນຫາການເລີ່ມຕົ້ນ.

ຄໍາເຕືອນ:
ເມື່ອ​ໃດ​ ຜູ້ຄຸມງານ ເລີ່ມຕົ້ນຂຶ້ນ, ມັນຈະຊອກຫາໄຟລ໌ການຕັ້ງຄ່າຂອງມັນຢູ່ໃນຄ່າເລີ່ມຕົ້ນ
ສະຖານທີ່ ລວມທັງ ໄດ້ ໃນປະຈຸບັນ ການເຮັດວຽກ ລະບົບ. ຖ້າເຈົ້າມີສະຕິຄວາມປອດໄພ ເຈົ້າ
ອາດຈະຕ້ອງການທີ່ຈະລະບຸ "-c" argument ຫຼັງຈາກ ຜູ້ຄຸມງານ ການ​ລະ​ບຸ​ຄໍາ​ສັ່ງ​
ເສັ້ນທາງຢ່າງແທ້ຈິງໄປຫາໄຟລ໌ການຕັ້ງຄ່າເພື່ອຮັບປະກັນວ່າຜູ້ໃດຜູ້ຫນຶ່ງບໍ່ໄດ້ຫລອກລວງທ່ານ
ແລ່ນຜູ້ຄຸມງານຈາກພາຍໃນໄດເລກະທໍລີທີ່ປະກອບດ້ວຍຄົນຂີ້ຄ້ານ supervisord.conf ຍື່ນ.
ການເຕືອນໄພຈະຖືກປ່ອຍອອກມາເມື່ອຜູ້ຄຸມງານເລີ່ມຕົ້ນເປັນຮາກໂດຍບໍ່ມີການນີ້ -c ການໂຕ້ຖຽງ.

ການ​ປ່ຽນ​ແປງ​ຊຸດ​ຂອງ​ໂຄງ​ການ​ທີ່​ຄວບ​ຄຸມ​ໂດຍ​ ຜູ້ຄຸມງານ, ແກ້ໄຂ supervisord.conf ເອກະສານ
ແລະ ຂ້າ -HUP ຫຼື ຖ້າ ບໍ່ ດັ່ງ ນັ້ນ restart ໄດ້ ຜູ້ຄຸມງານ ຂະບວນການ. ໄຟລ໌ນີ້ມີຕົວຢ່າງຫຼາຍຢ່າງ
ຄໍານິຍາມໂຄງການ.

ໄດ້ ຜູ້ຄຸມງານ ຄໍາສັ່ງຍອມຮັບຈໍານວນຂອງຕົວເລືອກແຖວຄໍາສັ່ງ. ແຕ່ລະຄໍາສັ່ງເຫຼົ່ານີ້
ຕົວເລືອກເສັ້ນ overrides ຄ່າທຽບເທົ່າໃດໆໃນໄຟລ໌ການຕັ້ງຄ່າ.

ຜູ້ຄຸມງານ ເສັ້ນ ຄຳ ສັ່ງ ທາງເລືອກໃນການ
-c ເອກະສານ, --configuration=ເອກະສານ
ເສັ້ນທາງສູ່ ກ ຜູ້ຄຸມງານ ແຟ້ມການຕັ້ງຄ່າ.

-n, --nodaemon
ການດໍາເນີນງານ ຜູ້ຄຸມງານ ໃນດ້ານຫນ້າ.

-h, - ຊ່ວຍ
ສະແດງໃຫ້ເຫັນ ຜູ້ຄຸມງານ ການ​ຊ່ວຍ​ເຫຼືອ​ຄໍາ​ສັ່ງ​.

-u ຜູ້ໃຊ້, --user=ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ UNIX ຫຼື id ຜູ້ໃຊ້ຕົວເລກ. ຖ້າ ຜູ້ຄຸມງານ ແມ່ນເລີ່ມຕົ້ນເປັນຜູ້ໃຊ້ຮາກ,
setuid ກັບຜູ້ໃຊ້ນີ້ໄວເທົ່າທີ່ເປັນໄປໄດ້ໃນລະຫວ່າງການເລີ່ມຕົ້ນ.

-m OCTAL, --umask=OCTAL
ຕົວເລກ octal (ເຊັ່ນ: 022) ເປັນຕົວແທນຂອງ umask ທີ່ຄວນຈະຖືກນໍາໃຊ້ໂດຍ ຜູ້ຄຸມງານ
ຫຼັງຈາກທີ່ມັນເລີ່ມຕົ້ນ.

-d PATH, --directory=PATH
ເມື່ອ supervisord ຖືກແລ່ນເປັນ daemon, cd ກັບ directory ນີ້ກ່ອນທີ່ຈະ daemonizing.

-l ເອກະສານ, --logfile=ເອກະສານ
ເສັ້ນທາງຊື່ໄຟລ໌ທີ່ຈະໃຊ້ເປັນບັນທຶກການເຄື່ອນໄຫວຂອງຜູ້ເບິ່ງແຍງ.

-y BYTES, --logfile_maxbytes=BYTES
ຂະໜາດສູງສຸດຂອງໄຟລ໌ບັນທຶກການເຄື່ອນໄຫວຂອງຜູ້ເບິ່ງແຍງກວດກາກ່ອນການຫມຸນຈະເກີດຂຶ້ນ. ມູນຄ່າ
ແມ່ນ suffix-multiplied, ເຊັ່ນ: "1" ແມ່ນຫນຶ່ງ byte, "1MB" ແມ່ນ 1 megabyte, "1GB" ແມ່ນ 1.
ກິກາໄບ.

-y NUMBER, --logfile_backups=NUMBER
ຈໍາ​ນວນ​ສໍາ​ເນົາ​ສໍາ​ຮອງ​ຂອງ​ບັນ​ທຶກ​ກິດ​ຈະ​ກໍາ​ຂອງ​ຜູ້​ດູ​ແລ​ທີ່​ຈະ​ເກັບ​ຮັກ​ສາ​ໄວ້​. ແຕ່ລະ
logfile ຈະມີຂະຫນາດ logfile_maxbytes.

-e LEVEL, --loglevel=LEVEL
ລະດັບການບັນທຶກທີ່ຜູ້ຄຸມງານຄວນຂຽນໃສ່ບັນທຶກການເຄື່ອນໄຫວ. ຖືກຕ້ອງ
ລະດັບແມ່ນ trace, debug, ຂໍ້ມູນ, ເຕືອນ, ຄວາມຜິດພາດ, ແລະ ສໍາຄັນ.

-j ເອກະສານ, --pidfile=ເອກະສານ
ຊື່ໄຟລ໌ທີ່ຜູ້ຄຸມງານຄວນຂຽນໄຟລ໌ pid ຂອງມັນ.

-i ຄັກ, --identifier=ຄັກ
ຕົວລະບຸສະຕຣິງທີ່ຕົນເປີດເຜີຍໂດຍ UI ລູກຄ້າຕ່າງໆສຳລັບຕົວຢ່າງນີ້
ຜູ້ຄຸມງານ.

-q PATH, --childlogdir=PATH
ເສັ້ນທາງໄປຫາໄດເລກະທໍລີ (ມັນຕ້ອງມີຢູ່ແລ້ວ) ບ່ອນທີ່ຜູ້ຄຸມຈະຂຽນມັນ AUTO
-mode ບັນທຶກຂະບວນການຂອງເດັກນ້ອຍ.

-k, --nocleanup
ປ້ອງກັນ ຜູ້ຄຸມງານ ຈາກ​ການ​ທໍາ​ຄວາມ​ສະ​ອາດ (ການ​ໂຍກ​ຍ້າຍ​ຂອງ​ເກົ່າ​ AUTO ໄຟລ​໌​ບັນ​ທຶກ​ຂະ​ບວນ​ການ​)
ໃນຕອນເລີ່ມຕົ້ນ.

-a NUMBER, --minfds=NUMBER
ຈໍານວນຕົວອະທິບາຍໄຟລ໌ຕໍາ່ສຸດທີ່ຕ້ອງມີໃຫ້ຜູ້ຄຸມງານ
ຂະບວນການກ່ອນທີ່ມັນຈະເລີ່ມຕົ້ນຢ່າງສໍາເລັດຜົນ.

-t, --strip_ansi
ລຳດັບການຖອດ ANSI ອອກຈາກຂະບວນການບັນທຶກລູກທັງໝົດ.

-v, - ການປ່ຽນແປງ
ພິມໝາຍເລກຜູ້ເບິ່ງແຍງກວດກາອອກໄປທີ່ stdout ແລະອອກ.

--profile_options=LIST
ລາຍຊື່ຕົວເລືອກທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດສໍາລັບການສ້າງໂປຣໄຟລ໌. ສາເຫດ ຜູ້ຄຸມງານ ແລ່ນພາຍໃຕ້ ກ
profiler, ແລະຜົນໄດ້ຮັບຜົນໄດ້ຮັບໂດຍອີງໃສ່ທາງເລືອກ, ຊຶ່ງເປັນບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ
ຂອງສິ່ງຕໍ່ໄປນີ້: ສົມບູນ, ໂທ, ຜູ້ໂທ. ຕົວຢ່າງ ສະສົມ, ໂທ.

--minprocs=NUMBER
ຈຳນວນຂັ້ນຕ່ຳຂອງຊ່ອງປະມວນຜົນ OS ທີ່ຕ້ອງມີໃຫ້ຜູ້ຄຸມງານ
ຂະບວນການກ່ອນທີ່ມັນຈະເລີ່ມຕົ້ນຢ່າງສໍາເລັດຜົນ.

supervisorctl ເສັ້ນ ຄຳ ສັ່ງ ທາງເລືອກໃນການ
-c, --ການ​ຕັ້ງ​ຄ່າ
ເສັ້ນທາງໄຟລ໌ການຕັ້ງຄ່າ (ຄ່າເລີ່ມຕົ້ນ /etc/supervisord.conf)

-h, - ຊ່ວຍ
ພິມຂໍ້ຄວາມການນໍາໃຊ້ແລະອອກ

-i, --ໂຕ້ຕອບ
ເລີ່ມ shell ແບບໂຕ້ຕອບຫຼັງຈາກປະຕິບັດຄໍາສັ່ງ

-s,-- serverurl URL
URL ທີ່ເຊີບເວີຜູ້ຄວບຄຸມກໍາລັງຟັງ (ຄ່າເລີ່ມຕົ້ນ "http://localhost: 9001")

-u, --ຊື່ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ທີ່ຈະໃຊ້ສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ

-p, -ລະຫັດຜ່ານ
ລະຫັດຜ່ານທີ່ຈະໃຊ້ສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ

-r, --history-file
ຮັກສາປະຫວັດການອ່ານແຖວ (ຖ້າມີແຖວອ່ານຢູ່)

ການປະຕິບັດ [ການໂຕ້ຖຽງ]

ການປະຕິບັດແມ່ນຄໍາສັ່ງເຊັ່ນ "ຫາງ" ຫຼື "ຢຸດ". ຖ້າ -i ຖືກລະບຸຫຼືບໍ່ມີການປະຕິບັດແມ່ນຖືກກໍານົດ
ໃນບັນທັດຄໍາສັ່ງ, "ແກະ" ການຕີຄວາມຫມາຍການດໍາເນີນການພິມໂຕ້ຕອບແມ່ນເລີ່ມຕົ້ນ. ໃຊ້
ການປະຕິບັດ "ການຊ່ວຍເຫຼືອ" ເພື່ອຊອກຫາກ່ຽວກັບການດໍາເນີນການທີ່ມີຢູ່.

ເຮັດວຽກ supervisorctl
ເພື່ອເລີ່ມຕົ້ນ supervisorctl, ດໍາເນີນການ $BINDIR/supervisorctl. A shell ຈະຖືກນໍາສະເຫນີທີ່ຈະ
ອະນຸຍາດໃຫ້ທ່ານສາມາດຄວບຄຸມຂະບວນການທີ່ຖືກຄຸ້ມຄອງໃນປັດຈຸບັນ ຜູ້ຄຸມງານ. ພິມ "ຊ່ວຍ"
ໃນ​ການ​ກະ​ຕຸ້ນ​ໃຫ້​ໄດ້​ຮັບ​ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ຄໍາ​ສັ່ງ​ທີ່​ສະ​ຫນັບ​ສະ​ຫນູນ​.

ໄດ້ supervisorctl executable ອາດ​ຈະ​ຖືກ​ຮຽກ​ຮ້ອງ​ດ້ວຍ​ຄໍາ​ສັ່ງ "ຫນຶ່ງ​ຄັ້ງ​" ໃນ​ເວ​ລາ​ທີ່ invoked ກັບ​
ການໂຕ້ຖຽງຈາກເສັ້ນຄໍາສັ່ງ. ຕົວຢ່າງ: supervisorctl ຢຸດ ທັງຫມົດ. ຖ້າມີການໂຕ້ຖຽງ
ປະຈຸບັນຢູ່ໃນເສັ້ນຄໍາສັ່ງ, ມັນຈະປ້ອງກັນບໍ່ໃຫ້ shell ການໂຕ້ຕອບຈາກການຖືກເອີ້ນ.
ແທນທີ່ຈະ, ຄໍາສັ່ງຈະຖືກປະຕິບັດແລະ supervisorctl ຈະອອກ.

If supervisorctl ຖືກເອີ້ນໃນຮູບແບບໂຕ້ຕອບຕໍ່ກັບ a ຜູ້ຄຸມງານ ທີ່ຕ້ອງການ
ການກວດສອບຄວາມຖືກຕ້ອງ, ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ມີໃບຢັ້ງຢືນການພິສູດຢືນຢັນ.

ສັນຍານ
ໄດ້ ຜູ້ຄຸມງານ ໂຄງ​ການ​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ສົ່ງ​ສັນ​ຍານ​ທີ່​ເຮັດ​ໃຫ້​ມັນ​ປະ​ຕິ​ບັດ​ການ​ປະ​ຕິ​ບັດ​ບາງ​ຢ່າງ​
ໃນຂະນະທີ່ມັນແລ່ນ.

ທ່ານສາມາດສົ່ງສັນຍານໃດໆເຫຼົ່ານີ້ໄປຫາຄົນດຽວ ຜູ້ຄຸມງານ ID ຂະ​ບວນ​ການ ID ຂະບວນການນີ້
ສາມາດພົບເຫັນຢູ່ໃນໄຟລ໌ທີ່ເປັນຕົວແທນໂດຍ pidfile ຕົວກໍານົດການໃນ [ຜູ້ຄຸມງານ] ສ່ວນ
ຂອງໄຟລ໌ການຕັ້ງຄ່າ (ໂດຍຄ່າເລີ່ມຕົ້ນມັນເປັນ $CWD/supervisord.pid).

ສັນຍານ ມືຈັບ
ໄລຍະເປົ້າໝາຍ
ຜູ້ຄຸມງານ ແລະຂະບວນການຍ່ອຍຂອງມັນທັງຫມົດຈະປິດລົງ. ອັນນີ້ອາດຈະໃຊ້ເວລາຫຼາຍວິນາທີ.

ເຊັນເຂົ້າ
ຜູ້ຄຸມງານ ແລະຂະບວນການຍ່ອຍຂອງມັນທັງຫມົດຈະປິດລົງ. ອັນນີ້ອາດຈະໃຊ້ເວລາຫຼາຍວິນາທີ.

SIGQUIT
ຜູ້ຄຸມງານ ແລະຂະບວນການຍ່ອຍຂອງມັນທັງຫມົດຈະປິດລົງ. ອັນນີ້ອາດຈະໃຊ້ເວລາຫຼາຍວິນາທີ.

ຕິດຕາມ
ຜູ້ຄຸມງານ ຈະຢຸດຂະບວນການທັງໝົດ, ໂຫຼດການຕັ້ງຄ່າຄືນໃໝ່ຈາກການຕັ້ງຄ່າທຳອິດ
ໄຟລ​໌​ທີ່​ມັນ​ຊອກ​ຫາ​, ແລະ restart ຂະ​ບວນ​ການ​ທັງ​ຫມົດ​.

SIGUSR2
ຜູ້ຄຸມງານ ຈະປິດ ແລະເປີດບັນທຶກການເຄື່ອນໄຫວຫຼັກ ແລະໄຟລ໌ບັນທຶກລູກທັງໝົດຄືນໃໝ່.

ເວລາແລ່ນ ຄວາມ​ປອດ​ໄພ
ນັກພັດທະນາໄດ້ເຮັດດີທີ່ສຸດເພື່ອຮັບປະກັນວ່າການນໍາໃຊ້ a ຜູ້ຄຸມງານ ຂະບວນການແລ່ນເປັນ
ຮາກບໍ່ສາມາດນໍາໄປສູ່ການຂະຫຍາຍສິດທິພິເສດທີ່ບໍ່ໄດ້ຕັ້ງໃຈ. ແຕ່ caveat ເຄື່ອງເປົ່າຫວ່າງ. ຜູ້ຄຸມງານແມ່ນ
ບໍ່ເປັນ paranoid ເປັນບາງສິ່ງບາງຢ່າງເຊັ່ນ: daemontools ຂອງ DJ Bernstein, ເທົ່າ ຜູ້ຄຸມງານ
ອະ​ນຸ​ຍາດ​ໃຫ້​ສໍາ​ລັບ​ການ​ສະ​ເພາະ​ເສັ້ນ​ທາງ​ໂດຍ​ຕົນ​ເອງ​ໃນ​ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ຕົນ​ທີ່​ຈະ​ເປັນ​ຂໍ້​ມູນ​
ຂຽນ. ການອະນຸຍາດໃຫ້ເລືອກເສັ້ນທາງທີ່ຕົນເອງມັກສາມາດສ້າງຊ່ອງໂຫວ່ຈາກ symlink
ການໂຈມຕີ. ຈົ່ງລະມັດລະວັງໃນເວລາກໍານົດເສັ້ນທາງໃນການຕັ້ງຄ່າຂອງທ່ານ. ຮັບປະກັນວ່າ
ຜູ້ຄຸມງານ ໄຟລ໌ການຕັ້ງຄ່າບໍ່ສາມາດອ່ານຈາກ ຫຼືຂຽນຫາໂດຍຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບສິດ ແລະ
ວ່າທຸກໄຟລ໌ທີ່ຕິດຕັ້ງໂດຍຊຸດຜູ້ຄຸມງານມີການປົກປ້ອງການອະນຸຍາດໄຟລ໌ "sane".
ການຕັ້ງຄ່າ. ນອກຈາກນັ້ນ, ໃຫ້ແນ່ໃຈວ່າຂອງທ່ານ ໄພທອນພົດ ແມ່ນດີແລະມາດຕະຖານ Python ທັງຫມົດ
ໄຟລ໌ຫ້ອງສະໝຸດມີການປົກປ້ອງການອະນຸຍາດໄຟລ໌ທີ່ພຽງພໍ.

ເຮັດວຽກ ຜູ້ຄຸມງານ ອັດຕະໂນມັດ on ເລີ່ມຕົ້ນລະບົບ
ຖ້າທ່ານກໍາລັງໃຊ້ Supervisor ສະບັບທີ່ມີການແຈກຢາຍ, ມັນຄວນຈະເປັນຢູ່ແລ້ວ
ປະສົມປະສານເຂົ້າໃນໂຄງສ້າງພື້ນຖານການຄຸ້ມຄອງການບໍລິການຂອງການແຈກຢາຍຂອງທ່ານ.

ມີສະຄຣິບທີ່ປະກອບສ່ວນໂດຍຜູ້ໃຊ້ສໍາລັບລະບົບປະຕິບັດການຕ່າງໆຢູ່ທີ່:
https://github.com/Supervisor/initscripts

ມີບາງຄໍາຕອບຢູ່ Serverfault ໃນກໍລະນີທີ່ເຈົ້າຕິດຢູ່: ວິທີການ to ອັດຕະໂນມັດ ການເລີ່ມຕົ້ນ
ຜູ້ຄຸມງານ on Linux (ubuntu)

ການຕັ້ງຄ່າ ເອກະສານ
ໄຟລ໌ການຕັ້ງຄ່າ Supervisor ມີຊື່ຕາມປົກກະຕິ supervisord.conf. ມັນຖືກນໍາໃຊ້ໂດຍ
ທັງສອງ ຜູ້ຄຸມງານ ແລະ supervisorctl. ຖ້າຄໍາຮ້ອງສະຫມັກທັງສອງແມ່ນເລີ່ມຕົ້ນໂດຍບໍ່ມີການ -c
ທາງ​ເລືອກ (ທາງ​ເລືອກ​ທີ່​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ບອກ​ຄໍາ​ຮ້ອງ​ສະ​ຫມັກ​ຊື່​ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​
ຢ່າງຊັດເຈນ), ຄໍາຮ້ອງສະຫມັກຈະຊອກຫາໄຟລ໌ທີ່ມີຊື່ supervisord.conf ພາຍໃນ
ສະຖານທີ່ດັ່ງຕໍ່ໄປນີ້, ໃນຄໍາສັ່ງທີ່ກໍານົດໄວ້. ມັນຈະໃຊ້ໄຟລ໌ທໍາອິດທີ່ມັນພົບ.

1. $CWD/supervisord.conf

2. $CWD/etc/supervisord.conf

3. /etc/supervisord.conf

4. ../etc/supervisord.conf (ກ່ຽວ​ກັບ​ການ​ປະ​ຕິ​ບັດ​ໄດ້​)

5. ../supervisord.conf (ກ່ຽວ​ກັບ​ການ​ປະ​ຕິ​ບັດ​ໄດ້​)

ຫມາຍ​ເຫດ​:
ການແຈກຢາຍບາງຢ່າງໄດ້ຫຸ້ມຫໍ່ Supervisor ດ້ວຍການປັບແຕ່ງຂອງຕົນເອງ. ເຫຼົ່ານີ້
ສະບັບດັດແກ້ຂອງ Supervisor ອາດຈະໂຫລດໄຟລ໌ການຕັ້ງຄ່າຈາກສະຖານທີ່ອື່ນໆ
ຫຼາຍກ່ວາສິ່ງທີ່ອະທິບາຍຢູ່ທີ່ນີ້. ໂດຍສະເພາະ, ແພັກເກດ Ubuntu ໄດ້ຖືກພົບເຫັນວ່າໃຊ້
/etc/supervisor/supervisord.conf.

ເອກະສານ ຮູບແບບ
supervisord.conf ເປັນໄຟລ໌ແບບ Windows-INI (Python ConfigParser). ມັນມີພາກສ່ວນ (ແຕ່ລະ
ໝາຍເຖິງ ກ [ສ່ວນຫົວ]) ແລະຄູ່ທີ່ສໍາຄັນ / ມູນຄ່າພາຍໃນພາກສ່ວນ. ພາກສ່ວນແລະຂອງເຂົາເຈົ້າ
ຄ່າທີ່ອະນຸຍາດແມ່ນໄດ້ອະທິບາຍຂ້າງລຸ່ມນີ້.

ສະພາບແວດລ້ອມ Variables
ຕົວແປສະພາບແວດລ້ອມທີ່ມີຢູ່ໃນສະພາບແວດລ້ອມໃນເວລານັ້ນ ຜູ້ຄຸມງານ is
ເລີ່ມຕົ້ນສາມາດຖືກນໍາໃຊ້ໃນໄຟລ໌ການຕັ້ງຄ່າໂດຍໃຊ້ syntax ການສະແດງອອກຂອງ Python string
%(ENV_X)s:

[ໂຄງການ: ຕົວຢ່າງ]
command=/usr/bin/example --loglevel=%(ENV_LOGLEVEL)s

ໃນຕົວຢ່າງຂ້າງເທິງ, ການສະແດງອອກ %(ENV_LOGLEVEL)s ຈະຖືກຂະຫຍາຍໄປສູ່ມູນຄ່າຂອງ
ສະພາບແວດລ້ອມປ່ຽນແປງ LOGLEVEL.

ຫມາຍ​ເຫດ​:
ໃນ Supervisor 3.2 ແລະຕໍ່ມາ, %(ENV_X)s ການສະແດງອອກແມ່ນສະຫນັບສະຫນູນໃນທຸກທາງເລືອກ. ໃນ
ຮຸ່ນກ່ອນ, ບາງທາງເລືອກສະຫນັບສະຫນູນພວກເຂົາ, ແຕ່ສ່ວນຫຼາຍແມ່ນບໍ່ມີ. ເບິ່ງເອກະສານສໍາລັບ
ແຕ່ລະທາງເລືອກຂ້າງລຸ່ມນີ້.

[unix_http_server] ສ່ວນ ການຕັ້ງຄ່າ
ໄດ້ supervisord.conf ໄຟລ໌ປະກອບມີພາກສ່ວນທີ່ມີຊື່ [unix_http_server] ພາຍໃຕ້ການທີ່
ຕົວກໍານົດການກໍາຫນົດຄ່າສໍາລັບເຄື່ອງແມ່ຂ່າຍ HTTP ທີ່ຟັງຢູ່ໃນ socket ໂດເມນ UNIX ຄວນຈະເປັນ
ແຊກ. ຖ້າໄຟລ໌ການຕັ້ງຄ່າບໍ່ມີ [unix_http_server] ພາກ, ໂດເມນ UNIX
ເຊີບເວີ HTTP socket ຈະບໍ່ຖືກເລີ່ມຕົ້ນ. ຄ່າການຕັ້ງຄ່າທີ່ອະນຸຍາດແມ່ນເປັນ
ຕໍ່ໄປນີ້.

[unix_http_server] ສ່ວນ ມູນຄ່າ
ເອກະສານ
ເສັ້ນທາງໄປຫາຊັອກເກັດໂດເມນ UNIX (ຕົວຢ່າງ /tmp/supervisord.sock) ທີ່​ຜູ້​ຄຸມ​ງານ​ຈະ​
ຟັງການຮ້ອງຂໍ HTTP/XML-RPC. supervisorctl ໃຊ້ XML-RPC ເພື່ອຕິດຕໍ່ສື່ສານກັບ
ຜູ້ຄຸມງານ ເທິງທ່າເຮືອນີ້. ທາງເລືອກນີ້ສາມາດລວມມູນຄ່າ %(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍ
ໄປຫາໄດເລກະທໍລີທີ່ ຜູ້ຄຸມງານ ພົບໄຟລ໌ການຕັ້ງຄ່າ.

ມາດຕະຖານ: ບໍ່ມີ.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

chmod
ປ່ຽນບິດໂໝດການອະນຸຍາດ UNIX ຂອງຊັອກເກັດໂດເມນ UNIX ເປັນຄ່ານີ້ຢູ່ທີ່
ເລີ່ມຕົ້ນ

ມາດຕະຖານ: 0700

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

chown
ປ່ຽນຜູ້ໃຊ້ ແລະກຸ່ມຂອງໄຟລ໌ຊັອກເກັດເປັນຄ່ານີ້. ອາດຈະເປັນຊື່ຜູ້ໃຊ້ UNIX
(ຕົວຢ່າງ ພະຄລິດ) ຫຼືຊື່ຜູ້ໃຊ້ UNIX ແລະກຸ່ມທີ່ແຍກອອກໂດຍຈໍ້າສອງເມັດ (ຕົວຢ່າງ chrism:ລໍ້).

ມາດຕະຖານ: ໃຊ້ຊື່ຜູ້ໃຊ້ແລະກຸ່ມຂອງຜູ້ໃຊ້ທີ່ເລີ່ມຕົ້ນຜູ້ເບິ່ງແຍງ.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ຊື່ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ທີ່ຕ້ອງການສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ HTTP ນີ້.

ມາດຕະຖານ: ບໍ່ມີຊື່ຜູ້ໃຊ້ທີ່ຕ້ອງການ.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະຫັດຜ່ານ
ລະຫັດຜ່ານທີ່ຕ້ອງການສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ HTTP ນີ້. ນີ້ສາມາດເປັນຂໍ້ຄວາມທີ່ຊັດເຈນ
ລະ​ຫັດ​ຜ່ານ​, ຫຼື​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ລະ​ບຸ​ໄວ້​ເປັນ hash SHA​-1 ຖ້າ​ຫາກ​ວ່າ​ຄໍາ​ນໍາ​ຫນ້າ​ໂດຍ​ສະ​ຕ​ຣິງ​ {SHA}ທີ່ຢູ່ ສໍາລັບ
ຍົກຕົວຢ່າງ, {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d ແມ່ນ SHA ສະບັບທີ່ເກັບຮັກສາໄວ້ຂອງ
ລະຫັດຜ່ານ "thepassword".

ໃຫ້ສັງເກດວ່າລະຫັດຜ່ານທີ່ hashed ຈະຕ້ອງຢູ່ໃນຮູບແບບ hex.

ມາດຕະຖານ: ບໍ່​ຕ້ອງ​ການ​ລະ​ຫັດ​ຜ່ານ​.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[unix_http_server] ສ່ວນ ຍົກຕົວຢ່າງ
[unix_http_server]
file = /tmp/supervisor.sock
chmod = 0777
chown= nobody:ກຸ່ມ
username = ຜູ້ໃຊ້
ລະ​ຫັດ​ຜ່ານ = 123​

[inet_http_server] ສ່ວນ ການຕັ້ງຄ່າ
ໄດ້ supervisord.conf ໄຟລ໌ປະກອບມີພາກສ່ວນທີ່ມີຊື່ [inet_http_server] ພາຍໃຕ້ການທີ່
ຕົວກໍານົດການກໍານົດສໍາລັບເຄື່ອງແມ່ຂ່າຍ HTTP ທີ່ຟັງຢູ່ໃນເຕົ້າຮັບ TCP (ອິນເຕີເນັດ) ຄວນ
ແຊກ. ຖ້າໄຟລ໌ການຕັ້ງຄ່າບໍ່ມີ [inet_http_server] ພາກ, inet HTTP
ເຊີບເວີຈະບໍ່ຖືກເລີ່ມຕົ້ນ. ຄ່າການຕັ້ງຄ່າທີ່ອະນຸຍາດມີດັ່ງນີ້.

[inet_http_server] ສ່ວນ ມູນຄ່າ
port
ເຈົ້າພາບ TCP: ຄ່າພອດ ຫຼື (ເຊັ່ນ 127.0.0.1:9001) ຜູ້ຄຸມງານຈະຮັບຟັງເລື່ອງໃດ
ການຮ້ອງຂໍ HTTP/XML-RPC. supervisorctl ຈະໃຊ້ XML-RPC ເພື່ອຕິດຕໍ່ສື່ສານກັບ ຜູ້ຄຸມງານ
ເທິງທ່າເຮືອນີ້. ເພື່ອຟັງທຸກສ່ວນຕິດຕໍ່ໃນເຄື່ອງ, ໃຫ້ໃຊ້ : 9001 or *:9001.

ມາດຕະຖານ: ບໍ່ມີຄ່າເລີ່ມຕົ້ນ.

ທີ່ກໍານົດໄວ້: ແມ່ນແລ້ວ.

ແນະ ນຳ: 3.0

ຊື່ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ທີ່ຕ້ອງການສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ HTTP ນີ້.

ມາດຕະຖານ: ບໍ່ມີຊື່ຜູ້ໃຊ້ທີ່ຕ້ອງການ.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະຫັດຜ່ານ
ລະຫັດຜ່ານທີ່ຕ້ອງການສໍາລັບການພິສູດຢືນຢັນກັບເຄື່ອງແມ່ຂ່າຍ HTTP ນີ້. ນີ້ສາມາດເປັນຂໍ້ຄວາມທີ່ຊັດເຈນ
ລະ​ຫັດ​ຜ່ານ​, ຫຼື​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ລະ​ບຸ​ໄວ້​ເປັນ hash SHA​-1 ຖ້າ​ຫາກ​ວ່າ​ຄໍາ​ນໍາ​ຫນ້າ​ໂດຍ​ສະ​ຕ​ຣິງ​ {SHA}ທີ່ຢູ່ ສໍາລັບ
ຍົກຕົວຢ່າງ, {SHA}82ab876d1387bfafe46cc1c8a2ef074eae50cb1d ແມ່ນ SHA ສະບັບທີ່ເກັບຮັກສາໄວ້ຂອງ
ລະຫັດຜ່ານ "thepassword".

ໃຫ້ສັງເກດວ່າລະຫັດຜ່ານທີ່ hashed ຈະຕ້ອງຢູ່ໃນຮູບແບບ hex.

ມາດຕະຖານ: ບໍ່​ຕ້ອງ​ການ​ລະ​ຫັດ​ຜ່ານ​.

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[inet_http_server] ສ່ວນ ຍົກຕົວຢ່າງ
[inet_http_server]
ພອດ = 127.0.0.1:9001
username = ຜູ້ໃຊ້
ລະ​ຫັດ​ຜ່ານ = 123​

[ຜູ້ຄຸມງານ] ສ່ວນ ການຕັ້ງຄ່າ
ໄດ້ supervisord.conf ໄຟລ໌ປະກອບມີພາກສ່ວນທີ່ມີຊື່ [ຜູ້ຄຸມງານ] ໃນການຕັ້ງຄ່າທົ່ວໂລກ
ກ່ຽວຂ້ອງກັບ ຜູ້ຄຸມງານ ຂະບວນການຄວນຈະຖືກໃສ່. ເຫຼົ່ານີ້ແມ່ນດັ່ງຕໍ່ໄປນີ້.

[ຜູ້ຄຸມງານ] ສ່ວນ ມູນຄ່າ
logfile
ເສັ້ນທາງໄປສູ່ບັນທຶກການເຄື່ອນໄຫວຂອງຂະບວນການຜູ້ຄຸມງານ. ທາງເລືອກນີ້ສາມາດປະກອບມີ
ມູນຄ່າ %(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍໄປຫາໄດເລກະທໍລີທີ່ການຕັ້ງຄ່າຜູ້ເບິ່ງແຍງ
ພົບໄຟລ໌.

ມາດຕະຖານ: $CWD/supervisord.log

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

logfile_maxbytes
ຈໍາ​ນວນ​ສູງ​ສຸດ​ຂອງ​ໄບ​ຕ​໌​ທີ່​ອາດ​ຈະ​ຖືກ​ນໍາ​ໃຊ້​ໂດຍ​ໄຟລ​໌​ບັນ​ທຶກ​ກິດ​ຈະ​ກໍາ​ກ່ອນ​ທີ່​ຈະ​ເປັນ​
rotated (ຕົວຄູນຕໍ່ທ້າຍເຊັ່ນ "KB", "MB", ແລະ "GB" ສາມາດຖືກນໍາໃຊ້ໃນມູນຄ່າ). ຕັ້ງ
ຄ່ານີ້ເປັນ 0 ເພື່ອຊີ້ບອກຂະໜາດບັນທຶກບໍ່ຈຳກັດ.

ມາດຕະຖານ: 50MB

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

logfile_backups
ຈໍາ​ນວນ​ຂອງ​ການ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ທີ່​ຈະ​ຮັກ​ສາ​ປະ​ມານ​ຈາກ​ການ​ຫມຸນ​ໄຟລ​໌​ບັນ​ທຶກ​ກິດ​ຈະ​ກໍາ​. ຖ້າຕັ້ງ
ເປັນ 0, ບໍ່ມີການສໍາຮອງຂໍ້ມູນຈະຖືກເກັບຮັກສາໄວ້.

ມາດຕະຖານ: 10

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

loglevel
ລະດັບການບັນທຶກ, ກໍານົດສິ່ງທີ່ຂຽນໃສ່ບັນທຶກກິດຈະກໍາຂອງຜູ້ເບິ່ງແຍງ. ຫນຶ່ງ​ໃນ
ສໍາຄັນ, ຄວາມຜິດພາດ, ເຕືອນ, ຂໍ້ມູນ, debug, trace, ຫຼື ເປົ່າລົມ. ໃຫ້ສັງເກດວ່າຢູ່ໃນລະດັບບັນທຶກ debug,
ໄຟລ໌ບັນທຶກຜູ້ເບິ່ງແຍງກວດກາຈະບັນທຶກຜົນຜະລິດ stderr/stdout ຂອງຂະບວນການລູກຂອງມັນ
ແລະຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການປ່ຽນແປງສະຖານະຂະບວນການ, ເຊິ່ງເປັນປະໂຫຍດສໍາລັບການດີບັກ a
ຂະບວນການທີ່ເລີ່ມຕົ້ນບໍ່ຖືກຕ້ອງ. ເບິ່ງ: activity_log_levels.

ມາດຕະຖານ: ຂໍ້​ມູນ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

pidfile
ສະຖານທີ່ທີ່ຜູ້ເບິ່ງແຍງຮັກສາໄຟລ໌ pid ຂອງມັນ. ທາງເລືອກນີ້ສາມາດປະກອບມີ
ມູນຄ່າ %(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍໄປຫາໄດເລກະທໍລີທີ່ການຕັ້ງຄ່າຜູ້ເບິ່ງແຍງ
ພົບໄຟລ໌.

ມາດຕະຖານ: $CWD/supervisord.pid

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ໜ້າ ກາກ
umask ຂອງຂະບວນການຄວບຄຸມ.

ມາດຕະຖານ: 022

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

nodaemon
ຖ້າເປັນຄວາມຈິງ, ຜູ້ຄຸມງານຈະເລີ່ມຕົ້ນຢູ່ເບື້ອງໜ້າແທນທີ່ຈະເປັນ daemonizing.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

minfds
ຈໍານວນຕົວອະທິບາຍໄຟລ໌ຕໍາ່ສຸດທີ່ຕ້ອງມີໃຫ້ກ່ອນຜູ້ຄຸມງານຈະ
ເລີ່ມສົບຜົນສໍາເລັດ. ການໂທຫາກໍານົດຂອບເຂດຈໍາກັດຈະຖືກດໍາເນີນເພື່ອພະຍາຍາມຍົກສູງຄວາມອ່ອນໂຍນແລະ
ຂໍ້ຈໍາກັດທີ່ຍາກຂອງຂະບວນການຄວບຄຸມເພື່ອຕອບສະຫນອງ minfds. ຂອບເຂດຈໍາກັດຍາກອາດຈະເປັນພຽງແຕ່
ຍົກຂຶ້ນມາຖ້າຜູ້ຄວບຄຸມຖືກດໍາເນີນການເປັນຮາກ. ຜູ້ຄຸມງານໃຊ້ຕົວອະທິບາຍໄຟລ໌ຢ່າງເສລີ, ແລະ
ຈະເຂົ້າສູ່ໂຫມດຄວາມລົ້ມເຫລວໃນເວລາທີ່ຫນຶ່ງບໍ່ສາມາດໄດ້ຮັບຈາກ OS, ສະນັ້ນມັນເປັນປະໂຫຍດທີ່ຈະເປັນ
ສາມາດລະບຸຄ່າຕໍາ່ສຸດທີ່ເພື່ອຮັບປະກັນວ່າມັນບໍ່ໄດ້ແລ່ນອອກຈາກພວກມັນໃນລະຫວ່າງການປະຕິບັດ.
ຕົວເລືອກນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະໃນ Solaris, ເຊິ່ງມີຂອບເຂດຈໍາກັດ fd ຕໍ່ຂະບວນການຕ່ໍາໂດຍ
Default

ມາດຕະຖານ: 1024

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

minprocs
ຈຳນວນຕົວອະທິບາຍຂະບວນການຂັ້ນຕ່ຳທີ່ຕ້ອງມີໃຫ້ກ່ອນຜູ້ຄຸມງານ
ຈະ​ເລີ່ມ​ຕົ້ນ​ຢ່າງ​ສໍາ​ເລັດ​ຜົນ​. ຈະມີການໂທຫາ setrlimit ເພື່ອພະຍາຍາມຍົກສູງບົດບາດຂອງອ່ອນ
ແລະ​ຂໍ້​ຈໍາ​ກັດ​ແຂງ​ຂອງ​ຂະ​ບວນ​ການ​ຜູ້​ດູ​ແລ​ເພື່ອ​ຄວາມ​ພໍ​ໃຈ​ minprocs. ຂອບເຂດຈໍາກັດຍາກອາດຈະ
ພຽງ​ແຕ່​ຈະ​ໄດ້​ຮັບ​ການ​ຍົກ​ສູງ​ຂຶ້ນ​ຖ້າ​ຫາກ​ວ່າ​ຜູ້​ຄວບ​ຄຸມ​ແມ່ນ​ດໍາ​ເນີນ​ການ​ເປັນ​ຮາກ​. ຜູ້ຄຸມງານຈະເຂົ້າສູ່ໂໝດລົ້ມເຫຼວ
ໃນເວລາທີ່ OS ແລ່ນອອກຈາກຕົວອະທິບາຍຂະບວນການ, ສະນັ້ນມັນເປັນປະໂຫຍດເພື່ອຮັບປະກັນວ່າພຽງພໍ
ຕົວອະທິບາຍຂະບວນການແມ່ນມີຢູ່ ຜູ້ຄຸມງານ ເລີ່ມຕົ້ນ

ມາດຕະຖານ: 200

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລ້າງອະນາໄມ
ປ້ອງກັນບໍ່ໃຫ້ຜູ້ຄຸມງານລຶບລ້າງສິ່ງທີ່ມີຢູ່ແລ້ວ AUTO ໄຟລ໌ບັນທຶກຂອງເດັກນ້ອຍໃນເວລາເລີ່ມຕົ້ນ.
ເປັນປະໂຫຍດສໍາລັບການດີບັກ.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

Childlogdir
ໄດເລກະທໍລີທີ່ໃຊ້ສໍາລັບ AUTO ໄຟລ໌ບັນທຶກຂອງເດັກນ້ອຍ. ຕົວເລືອກນີ້ສາມາດລວມຄ່າໄດ້
%(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍໄປຫາໄດເລກະທໍລີທີ່ ຜູ້ຄຸມງານ ແຟ້ມການຕັ້ງຄ່າ
ໄດ້​ພົບ​ເຫັນ.

ມາດຕະຖານ: ຄ່າຂອງ Python's tempfile.get_tempdir()

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ຜູ້ໃຊ້
ແນະ ນຳ ຜູ້ຄຸມງານ ເພື່ອປ່ຽນຜູ້ໃຊ້ໄປຫາບັນຊີຜູ້ໃຊ້ UNIX ນີ້ກ່ອນທີ່ຈະດໍາເນີນການໃດໆ
ການ​ປຸງ​ແຕ່ງ​ທີ່​ມີ​ຄວາມ​ຫມາຍ​. ຜູ້ໃຊ້ສາມາດປ່ຽນໄດ້ພຽງແຕ່ຖ້າ ຜູ້ຄຸມງານ ແມ່ນ ໄດ້ ເລີ່ມ ຕົ້ນ ເປັນ
ຜູ້ໃຊ້ຮາກ. ຖ້າ ຜູ້ຄຸມງານ ບໍ່ສາມາດປ່ຽນຜູ້ໃຊ້ໄດ້, ມັນຈະສືບຕໍ່ແຕ່ຈະຂຽນ a
ບັນທຶກຂໍ້ຄວາມຢູ່ທີ່ ສໍາຄັນ ລະດັບກ່າວວ່າມັນບໍ່ສາມາດລຸດສິດທິພິເສດໄດ້.

ມາດຕະຖານ: ບໍ່ປ່ຽນຜູ້ໃຊ້

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະບົບ
ເມື່ອ​ໃດ​ ຜູ້ຄຸມງານ daemonizes, ສະຫຼັບໄປຫາໄດເລກະທໍລີນີ້. ທາງເລືອກນີ້ສາມາດປະກອບມີ
ມູນຄ່າ %(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍໄປຫາໄດເລກະທໍລີທີ່ ຜູ້ຄຸມງານ configuration
ພົບໄຟລ໌.

ມາດຕະຖານ: ຢ່າ cd

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

strip_ansi
ຖອດລຳດັບການໜີ ANSI ທັງໝົດອອກຈາກໄຟລ໌ບັນທຶກຂອງລູກ.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ສະພາບແວດລ້ອມ
ບັນຊີລາຍຊື່ຂອງຄູ່ຄີ/ມູນຄ່າໃນຮູບແບບ KEY="val",KEY2="val2" ທີ່ຈະຖືກຈັດໃສ່ໃນ
ຜູ້ຄຸມງານ ສະພາບແວດລ້ອມຂອງຂະບວນການ (ແລະເປັນຜົນມາຈາກຂະບວນການຂອງລູກຂອງມັນທັງຫມົດ'
ສະພາບແວດລ້ອມ). ທາງເລືອກນີ້ສາມາດລວມມູນຄ່າ %(ທີ່ນີ້)s, ເຊິ່ງຂະຫຍາຍໄປສູ່
ໄດເລກະທໍລີທີ່ພົບໄຟລ໌ການຕັ້ງຄ່າຜູ້ເບິ່ງແຍງ. ຄ່າທີ່ປະກອບດ້ວຍ
ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກຄວນຖືກອ້າງອີງ (ຕົວຢ່າງ KEY="val:123",KEY2="val,456").
ຖ້າບໍ່ດັ່ງນັ້ນ, ການອ້າງອີງຄ່າແມ່ນເປັນທາງເລືອກແຕ່ແນະນໍາ. ເພື່ອຫລົບຫນີເປີເຊັນ
ຕົວອັກສອນ, ພຽງແຕ່ໃຊ້ສອງ. (ຕົວຢ່າງ URI="/first%%20name") ຫມາຍ​ເຫດ​ ຂະບວນການຍ່ອຍທີ່ຈະ
ສືບທອດຕົວແປສະພາບແວດລ້ອມຂອງແກະທີ່ໃຊ້ເພື່ອເລີ່ມຕົ້ນ ຜູ້ຄຸມງານ ຍົກເວັ້ນສໍາລັບການ
ໂຕທີ່ overridden ຢູ່ທີ່ນີ້ ແລະພາຍໃນໂຄງການ ສະພາບແວດລ້ອມ ທາງເລືອກ. ເບິ່ງ
subprocess_vironment.

ມາດຕະຖານ: ບໍ່ມີຄ່າ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ຕົວລະບຸ
ສະຕຣິງຕົວລະບຸສໍາລັບຂະບວນການຜູ້ຄຸມງານນີ້, ໃຊ້ໂດຍການໂຕ້ຕອບ RPC.

ມາດຕະຖານ: ຜູ້ຄຸມງານ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[ຜູ້ຄຸມງານ] ສ່ວນ ຍົກຕົວຢ່າງ
[ຜູ້ຄຸມງານ]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = ຂໍ້ມູນ
pidfile = /tmp/supervisord.pid
nodaemon = ບໍ່ຖືກຕ້ອງ
minfds = 1024
minprocs = 200
umask = 022
user = chrism
identifier = ຜູ້ຄຸມງານ
ໄດເລກະທໍລີ = / tmp
nocleanup = ຄວາມຈິງ
childlogdir = / tmp
strip_ansi = ບໍ່ຖືກຕ້ອງ
ສະພາບແວດລ້ອມ = KEY1="value1",KEY2="value2"

[ຜູ້ຄຸມງານ] ສ່ວນ ການຕັ້ງຄ່າ
ໄຟລ໌ການຕັ້ງຄ່າອາດຈະປະກອບດ້ວຍການຕັ້ງຄ່າສໍາລັບ supervisorctl shell interactive
ໂຄງການ. ຕົວເລືອກເຫຼົ່ານີ້ມີລາຍຊື່ຂ້າງລຸ່ມນີ້.

[ຜູ້ຄຸມງານ] ສ່ວນ ມູນຄ່າ
serverurl
URL ທີ່ຄວນຈະຖືກນໍາໃຊ້ເພື່ອເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍຂອງຜູ້ເບິ່ງແຍງ, e.g
http://localhost: 9001. ສຳລັບຊັອກເກັດໂດເມນຂອງ UNIX, ໃຫ້ໃຊ້
unix:///absolute/path/to/file.sock.

ມາດຕະຖານ: http://localhost: 9001

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ຊື່ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ທີ່ຈະສົ່ງໄປຫາເຊີບເວີຜູ້ຄວບຄຸມເພື່ອໃຊ້ໃນການກວດສອບຄວາມຖືກຕ້ອງ. ອັນນີ້ຄວນ
ຄືກັນກັບ ຊື່ຜູ້ໃຊ້ ຈາກການຕັ້ງຄ່າເຊີບເວີຜູ້ຄວບຄຸມສຳລັບພອດ ຫຼື UNIX
ຊັອກເກັດໂດເມນທີ່ທ່ານກໍາລັງພະຍາຍາມເຂົ້າເຖິງ.

ມາດຕະຖານ: ບໍ່ມີຊື່ຜູ້ໃຊ້

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະຫັດຜ່ານ
ລະ​ຫັດ​ຜ່ານ​ທີ່​ຈະ​ຜ່ານ​ໄປ​ໃຫ້​ເຊີບ​ເວີ supervisord ສໍາ​ລັບ​ການ​ນໍາ​ໃຊ້​ໃນ​ການ​ກວດ​ສອບ​. ອັນນີ້ຄວນ
ເປັນສະບັບ cleartext ຂອງ ລະຫັດຜ່ານ ຈາກການຕັ້ງຄ່າເຊີບເວີຜູ້ເບິ່ງແຍງສໍາລັບ
ພອດ ຫຼືຊັອກເກັດໂດເມນ UNIX ທີ່ທ່ານກຳລັງພະຍາຍາມເຂົ້າເຖິງ. ຄ່ານີ້ບໍ່ສາມາດຖືກສົ່ງເປັນ
ເປັນ hash SHA. ບໍ່ເຫມືອນກັບລະຫັດຜ່ານອື່ນໆທີ່ລະບຸໄວ້ໃນໄຟລ໌ນີ້, ມັນຕ້ອງໄດ້ຮັບການສະຫນອງໃຫ້ຢູ່ໃນ
cleartext.

ມາດຕະຖານ: ບໍ່ມີລະຫັດຜ່ານ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ການກະຕຸ້ນເຕືອນ
String ໃຊ້ເປັນ supervisorctl prompt.

ມາດຕະຖານ: supervisor

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

history_file
ເສັ້ນທາງທີ່ຈະໃຊ້ເປັນ ເສັ້ນອ່ານ ໄຟລ​໌​ປະ​ຫວັດ​ສາດ​ທີ່​ຄົງ​ຄ້າງ​. ຖ້າທ່ານເປີດໃຊ້ຄຸນສົມບັດນີ້ໂດຍ
ການເລືອກເສັ້ນທາງ, ຄໍາສັ່ງ supervisorctl ຂອງທ່ານຈະຖືກເກັບໄວ້ໃນໄຟລ໌, ແລະທ່ານສາມາດນໍາໃຊ້
readline (ເຊັ່ນ: ລູກສອນຂຶ້ນ) ເພື່ອເອີ້ນຄໍາສັ່ງທີ່ທ່ານປະຕິບັດຢູ່ໃນ supervisorctl ສຸດທ້າຍຂອງທ່ານ
session

ມາດຕະຖານ: ບໍ່ມີໄຟລ໌

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0a5

[ຜູ້ຄຸມງານ] ສ່ວນ ຍົກຕົວຢ່າງ
[ຜູ້ຄຸມງານ]
serverurl = unix:///tmp/supervisor.sock
ຊື່ຜູ້ໃຊ້ = chris
ລະ​ຫັດ​ຜ່ານ = 123​
prompt = mysupervisor

[ໂຄງການ:x] ສ່ວນ ການຕັ້ງຄ່າ
ໄຟລ໌ການຕັ້ງຄ່າຕ້ອງມີໜຶ່ງ ຫຼືຫຼາຍກວ່ານັ້ນ ໂຄງການ ພາກ​ສ່ວນ​ເພື່ອ​ໃຫ້​ຜູ້​ຄວບ​ຄຸມ​
ເພື່ອຮູ້ວ່າໂຄງການໃດທີ່ມັນຄວນຈະເລີ່ມຕົ້ນແລະຄວບຄຸມ. ຄ່າສ່ວນຫົວແມ່ນຄ່າປະສົມ.
ມັນແມ່ນຄໍາວ່າ "ໂຄງການ", ຕິດຕາມໂດຍກົງດ້ວຍຈໍ້າສອງເມັດ, ຫຼັງຈາກນັ້ນຊື່ໂຄງການ. ສ່ວນຫົວ
ມູນຄ່າຂອງ [ໂຄງການ: foo] ອະທິບາຍໂຄງການທີ່ມີຊື່ຂອງ "foo". ຊື່ແມ່ນໃຊ້
ພາຍໃນຄໍາຮ້ອງສະຫມັກລູກຄ້າທີ່ຄວບຄຸມຂະບວນການທີ່ຖືກສ້າງຂຶ້ນເປັນຜົນມາຈາກການນີ້
ການຕັ້ງຄ່າ. ມັນເປັນຄວາມຜິດພາດໃນການສ້າງ a ໂຄງການ ພາກສ່ວນທີ່ບໍ່ມີຊື່. ໄດ້
ຊື່ຈະຕ້ອງບໍ່ມີຕົວອັກສອນຈໍ້າສອງເມັດ ຫຼືຕົວອັກສອນວົງເລັບ. ມູນຄ່າຂອງຊື່ແມ່ນ
ໃຊ້ເປັນຄ່າຂອງ %(program_name)s ການຂະຫຍາຍການສະແດງອອກຂອງສະຕຣິງພາຍໃນຄ່າອື່ນໆ
ບ່ອນ​ທີ່​ລະ​ບຸ​ໄວ້​.

ຫມາຍ​ເຫດ​:
A [ໂຄງການ:x] ພາກ​ສ່ວນ​ຕົວ​ຈິງ​ເປັນ​ຕົວ​ແທນ "ກຸ່ມ​ຂະ​ບວນ​ການ​ເປັນ​ເອ​ກະ​ພາບ​" ກັບ​ຜູ້​ດູ​ແລ​
(ເປັນຂອງ 3.0). ສະມາຊິກຂອງກຸ່ມແມ່ນຖືກກໍານົດໂດຍການລວມກັນຂອງ ຕົວເລກ
ແລະ process_name ຕົວກໍານົດການໃນການຕັ້ງຄ່າ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຖ້າ numprocs ແລະ
process_name ຖືກປະໄວ້ບໍ່ປ່ຽນແປງຈາກຄ່າເລີ່ມຕົ້ນຂອງພວກເຂົາ, ກຸ່ມທີ່ເປັນຕົວແທນໂດຍ
[ໂຄງການ:x] ຈະໄດ້ຮັບການຕັ້ງຊື່ x ແລະຈະມີຂະບວນການດຽວທີ່ມີຊື່ x ໃນ​ມັນ. ນີ້
ສະຫນອງ modicum ຂອງຄວາມເຂົ້າກັນໄດ້ໃນດ້ານຫລັງກັບການປ່ອຍຜູ້ຄຸມງານເກົ່າ, ເຊິ່ງໄດ້ເຮັດ
ບໍ່ປະຕິບັດພາກສ່ວນໂຄງການເປັນຄໍານິຍາມກຸ່ມຂະບວນການດຽວກັນ.

ແຕ່ຕົວຢ່າງ, ຖ້າທ່ານມີ [ໂຄງການ: foo] ພາກສ່ວນທີ່ມີ ກ ຕົວເລກ ຂອງ 3 ແລະ a
process_name ການສະແດງອອກຂອງ %(program_name)s_%(process_num)02d, ກຸ່ມ "foo" ຈະ
ປະກອບມີສາມຂະບວນການ, ຊື່ foo_00, foo_01, ແລະ foo_02. ນີ້ເຮັດໃຫ້ມັນເປັນໄປໄດ້
ເລີ່ມຂະບວນການທີ່ຄ້າຍຄືກັນຫຼາຍໂດຍໃຊ້ອັນດຽວ [ໂຄງການ:x] ພາກ. ທັງໝົດ
ຊື່ logfile, ສະຕຣິງສະພາບແວດລ້ອມທັງຫມົດ, ແລະຄໍາສັ່ງຂອງໂປລແກລມຍັງສາມາດປະກອບມີ
Python string expressions ທີ່ຄ້າຍຄືກັນ, ເພື່ອຜ່ານຕົວກໍານົດການທີ່ແຕກຕ່າງກັນເລັກນ້ອຍກັບແຕ່ລະຄົນ
ຂະບວນການ.

[ໂຄງການ:x] ສ່ວນ ມູນຄ່າ
ຄໍາສັ່ງ
ຄໍາສັ່ງທີ່ຈະດໍາເນີນການໃນເວລາທີ່ໂຄງການນີ້ໄດ້ຖືກເລີ່ມຕົ້ນ. ຄໍາສັ່ງສາມາດເປັນ
ຢ່າງແທ້ຈິງ (ຕົວຢ່າງ /path/to/ຊື່ໂປຣແກຣມ) ຫຼືພີ່ນ້ອງ (ເຊັ່ນ ຊື່ໂຄງການ). ຖ້າມັນແມ່ນ
ພີ່ນ້ອງ, ສະພາບແວດລ້ອມຂອງຜູ້ເບິ່ງແຍງ $ PATH ຈະຖືກຄົ້ນຫາສໍາລັບການປະຕິບັດ.
ບັນດາໂຄງການສາມາດຍອມຮັບການໂຕ້ຖຽງ, e.g /path/to/ໂຄງການ ຟູ ພາທະນາຍຄວາມ. ເສັ້ນຄໍາສັ່ງສາມາດນໍາໃຊ້
ວົງຢືມສອງເທົ່າຕໍ່ກັບການໂຕ້ຖຽງກຸ່ມທີ່ມີຊ່ອງຫວ່າງຢູ່ໃນພວກມັນເພື່ອຜ່ານໄປຫາໂປຣແກຣມ, ຕົວຢ່າງ
/path/to/program/name -p "ຟູ ບາ". ໃຫ້ສັງເກດວ່າມູນຄ່າຂອງ ຄໍາສັ່ງ ອາດຈະປະກອບມີ Python
string expressions, eg /path/to/ຊື່ໂປຣແກຣມ --port=80%(process_num)02d ອາດ​ຈະ​ຂະ​ຫຍາຍ​ຕົວ
to /path/to/ຊື່ໂປຣແກຣມ --port=8000 ໃນເວລາແລ່ນ. ການສະແດງສະຕິງຖືກປະເມີນ
ຕໍ່ກັບວັດຈະນານຸກົມທີ່ມີກະແຈ group_name, host_node_name, process_num,
program_name, ທີ່ນີ້ (ໄດເລກະທໍລີຂອງໄຟລ໌ config supervisord), ແລະທັງຫມົດ
ຕົວແປສະພາບແວດລ້ອມຂອງຜູ້ເບິ່ງແຍງກວດກາທີ່ນຳໜ້າດ້ວຍ ENV_. ໂຄງການຄວບຄຸມຄວນ
ຕົວເອງບໍ່ແມ່ນ daemon, ຍ້ອນວ່າຜູ້ຄຸມງານຖືວ່າມັນມີຄວາມຮັບຜິດຊອບຕໍ່ daemonizing ຂອງມັນ
ຂະບວນການຍ່ອຍ (ເບິ່ງ nondaemonizing_of_subprocesses).

ມາດຕະຖານ: ບໍ່ມີຄ່າເລີ່ມຕົ້ນ.

ທີ່ກໍານົດໄວ້: ແມ່ນແລ້ວ.

ແນະ ນຳ: 3.0

process_name
ການສະແດງອອກຂອງສະຕຣິງ Python ທີ່ຖືກນໍາໃຊ້ເພື່ອປະກອບຊື່ຂະບວນການຂອງຜູ້ເບິ່ງແຍງສໍາລັບການນີ້
ຂະບວນການ. ໂດຍປົກກະຕິແລ້ວ ເຈົ້າບໍ່ຈຳເປັນຕ້ອງກັງວົນກ່ຽວກັບການຕັ້ງຄ່າອັນນີ້ ເວັ້ນເສຍແຕ່ເຈົ້າຈະປ່ຽນ
ຕົວເລກ. ການສະແດງອອກຂອງສະຕຣິງຖືກປະເມີນຕໍ່ກັບວັດຈະນານຸກົມທີ່ປະກອບມີ
group_name, host_node_name, process_num, program_name, ແລະ ທີ່ນີ້ (ໄດເລກະທໍລີຂອງ
supervisord config file).

ມາດຕະຖານ: %(program_name)s

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ຕົວເລກ
ຜູ້ຄຸມງານຈະເລີ່ມໂຄງການນີ້ຫຼາຍຄັ້ງຕາມທີ່ຕັ້ງຊື່ໂດຍ numprocs. ຫມາຍ​ເຫດ​
ວ່າຖ້າຕົວເລກ> 1, the process_name ການສະແດງອອກຕ້ອງປະກອບມີ %(process_num)s (ຫຼືໃດໆ
Python string expression ທີ່ຖືກຕ້ອງອື່ນໆທີ່ປະກອບມີ process_num) ພາຍ​ໃນ​ມັນ​.

ມາດຕະຖານ: 1

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

numprocs_start
ຄ່າຊົດເຊີຍຈຳນວນເຕັມທີ່ໃຊ້ເພື່ອຄຳນວນຕົວເລກທີ່ ຕົວເລກ ເລີ່ມຕົ້ນ.

ມາດຕະຖານ: 0

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ບູລິມະສິດ
ບູລິມະສິດທີ່ກ່ຽວຂ້ອງຂອງໂຄງການໃນການເລີ່ມຕົ້ນແລະປິດຄໍາສັ່ງ. ຕ່ໍາກວ່າ
ບູລິມະສິດຊີ້ບອກບັນດາໂຄງການທີ່ເລີ່ມຕົ້ນທໍາອິດແລະປິດລົງສຸດທ້າຍໃນເວລາເລີ່ມຕົ້ນແລະເວລາໃດ
ຄໍາສັ່ງລວມຖືກນໍາໃຊ້ໃນລູກຄ້າຕ່າງໆ (ເຊັ່ນ: "ເລີ່ມຕົ້ນທັງຫມົດ"/"ຢຸດທັງຫມົດ"). ສູງກວ່າ
ບູລິມະສິດຊີ້ບອກບັນດາໂຄງການທີ່ເລີ່ມຕົ້ນສຸດທ້າຍ ແລະປິດລົງກ່ອນ.

ມາດຕະຖານ: 999

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ອໍໂຕ້
ຖ້າເປັນຈິງ, ໂປຣແກຣມນີ້ຈະເລີ່ມອັດຕະໂນມັດເມື່ອຜູ້ຄວບຄຸມເລີ່ມຕົ້ນ.

ມາດຕະຖານ: ຄວາມຈິງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

startsecs
ຈໍາ​ນວນ​ທັງ​ຫມົດ​ຂອງ​ວິ​ນາ​ທີ​ທີ່​ໂຄງ​ການ​ຈໍາ​ເປັນ​ຕ້ອງ​ດໍາ​ເນີນ​ການ​ຫຼັງ​ຈາກ​ການ​ເລີ່ມ​ຕົ້ນ​
ພິຈາລະນາການເລີ່ມຕົ້ນສົບຜົນສໍາເລັດ (ການເຄື່ອນຍ້າຍຂະບວນການຈາກ ເລີ່ມຕົ້ນ ລັດກັບ
ແລ່ນ ລັດ). ຕັ້ງ​ຄ່າ 0 ເພື່ອຊີ້ບອກວ່າໂຄງການບໍ່ ຈຳ ເປັນຕ້ອງແລ່ນຕໍ່ໄປ
ຈໍານວນເວລາໂດຍສະເພາະ.

ຫມາຍ​ເຫດ​:
ເຖິງແມ່ນວ່າຂະບວນການໃດນຶ່ງອອກມາດ້ວຍລະຫັດອອກ "ຄາດ" (ເບິ່ງ ລະຫັດອອກ), ການ​ເລີ່ມ​ຕົ້ນ​
ຈະຍັງຖືວ່າເປັນຄວາມລົ້ມເຫຼວຖ້າຫາກວ່າຂະບວນການອອກໄວກວ່າ startsecs.

ມາດຕະຖານ: 1

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

startretries
ຈໍານວນຂອງຄວາມລົ້ມເຫຼວຂອງ serial ພະຍາຍາມນັ້ນ ຜູ້ຄຸມງານ ຈະອະນຸຍາດໃຫ້ໃນເວລາທີ່ພະຍາຍາມ
ເລີ່ມ​ຕົ້ນ​ໂຄງ​ການ​ກ່ອນ​ທີ່​ຈະ​ໃຫ້​ເຖິງ​ແລະ​ການ​ວາງ​ຂະ​ບວນ​ການ​ເປັນ​ ໄຂມັນ ລັດ. ເບິ່ງ
process_states ສໍາລັບຄໍາອະທິບາຍຂອງ ໄຂມັນ ລັດ.

ມາດຕະຖານ: 3

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ປິດເປີດອັດຕະໂນມັດ
ລະບຸວ່າ ຜູ້ຄຸມງານ ຄວນເລີ່ມຂະບວນການຄືນໃໝ່ໂດຍອັດຕະໂນມັດ ຖ້າມັນອອກເມື່ອມັນຢູ່
ໃນ ແລ່ນ ລັດ. ອາດຈະເປັນຫນຶ່ງໃນ ທີ່ບໍ່ຖືກຕ້ອງ, unexpected, ຫຼື ທີ່ແທ້ຈິງທີ່ຢູ່ ຖ້າຫາກວ່າ ທີ່ບໍ່ຖືກຕ້ອງ, ຂະບວນການ
ຈະບໍ່ຖືກປິດເປີດໃໝ່ອັດຕະໂນມັດ. ຖ້າ unexpected, ຂະບວນການຈະໄດ້ຮັບການ restarted ໃນເວລາທີ່
ໂປຣແກມອອກດ້ວຍລະຫັດອອກທີ່ບໍ່ແມ່ນລະຫັດອອກອັນໜຶ່ງທີ່ກ່ຽວຂ້ອງກັບອັນນີ້
ການຕັ້ງຄ່າຂະບວນການ (ເບິ່ງ ລະຫັດອອກ) ຖ້າຫາກວ່າ ທີ່ແທ້ຈິງ, ຂະບວນການຈະບໍ່ມີເງື່ອນໄຂ
ຣີສະຕາດເມື່ອມັນອອກ, ໂດຍບໍ່ຄຳນຶງເຖິງລະຫັດອອກຂອງມັນ.

ຫມາຍ​ເຫດ​:
ປິດເປີດອັດຕະໂນມັດ ຄວບຄຸມບໍ່ວ່າຈະເປັນ ຜູ້ຄຸມງານ ຈະປິດເປີດໂປຣແກຣມຄືນໃໝ່ຖ້າມັນອອກ
ຫຼັງ​ຈາກ​ທີ່​ມັນ​ໄດ້​ເລີ່ມ​ຕົ້ນ​ຢ່າງ​ສໍາ​ເລັດ​ຜົນ (ຂະ​ບວນ​ການ​ແມ່ນ​ຢູ່​ໃນ​ ແລ່ນ ລັດ).

ຜູ້ຄຸມງານ ມີກົນໄກການເລີ່ມຕົ້ນໃຫມ່ທີ່ແຕກຕ່າງກັນສໍາລັບເວລາທີ່ຂະບວນການກໍາລັງເລີ່ມຕົ້ນຂຶ້ນ
(ຂະບວນການແມ່ນຢູ່ໃນ ເລີ່ມຕົ້ນ ລັດ). ພະຍາຍາມອີກຄັ້ງໃນລະຫວ່າງການເລີ່ມຕົ້ນຂະບວນການ
ຄວບຄຸມໂດຍ startsecs ແລະ startretries.

ມາດຕະຖານ: ບໍ່ຄາດຄິດ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະຫັດອອກ
ບັນຊີລາຍຊື່ຂອງລະຫັດອອກ "ຄາດຫວັງ" ສໍາລັບໂຄງການນີ້ໃຊ້ກັບ ປິດເປີດອັດຕະໂນມັດທີ່ຢູ່ ຖ້າຫາກວ່າ
ປິດເປີດອັດຕະໂນມັດ ພາລາມິເຕີຖືກຕັ້ງຄ່າໃຫ້ unexpected, ແລະຂະບວນການອອກໄປໃນທາງອື່ນນອກຈາກ
ເປັນ​ຜົນ​ມາ​ຈາກ​ການ​ຮ້ອງ​ຂໍ​ໃຫ້​ຢຸດ​ເຊົາ​ການ​ຄວບ​ຄຸມ​, ຜູ້ຄຸມງານ ຈະເລີ່ມຂະບວນການຄືນໃໝ່ຖ້າມັນ
ອອກດ້ວຍລະຫັດອອກທີ່ບໍ່ໄດ້ກໍານົດໄວ້ໃນລາຍການນີ້.

ມາດຕະຖານ: 0,2

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ສັນຍານຢຸດ
ສັນຍານທີ່ໃຊ້ເພື່ອຂ້າໂປຣແກມ ເມື່ອມີການຮ້ອງຂໍຢຸດ. ນີ້​ສາ​ມາດ​ເປັນ​ຂອງ​ຄໍາ​ສັບ​ໃດ​ຫນຶ່ງ​,
HUP, INT, QUIT, KILL, USR1, ຫຼື USR2.

ມາດຕະຖານ: ໄລຍະ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

stopwaitsecs
ຈຳນວນວິນາທີທີ່ຈະລໍຖ້າ OS ສົ່ງຄືນ SIGCHILD ຜູ້ຄຸມງານ ຫຼັງຈາກ
ໂຄງການໄດ້ຖືກສົ່ງສັນຍານຢຸດ. ຖ້າຈໍານວນວິນາທີນີ້ຜ່ານໄປກ່ອນ
ຜູ້ຄຸມງານ ໄດ້ຮັບ SIGCHILD ຈາກຂະບວນການ, ຜູ້ຄຸມງານ ຈະພະຍາຍາມຂ້າມັນ
ກັບ SIGKILL ສຸດທ້າຍ.

ມາດຕະຖານ: 10

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ກຸ່ມຢຸດ
ຖ້າເປັນຄວາມຈິງ, ທຸງເຮັດໃຫ້ຜູ້ຄຸມງານສົ່ງສັນຍານຢຸດໄປຫາກຸ່ມຂະບວນການທັງຫມົດ
ແລະຫມາຍຄວາມວ່າ ກຸ່ມຂ້າ ເປັນຄວາມຈິງ. ນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບບັນດາໂຄງການ, ເຊັ່ນ Flask ໃນການດີບັກ
ຮູບ​ແບບ​, ທີ່​ບໍ່​ແຜ່​ຂະ​ຫຍາຍ​ສັນ​ຍານ​ຢຸດ​ໃຫ້​ລູກ​ຂອງ​ເຂົາ​ເຈົ້າ​, ເຮັດ​ໃຫ້​ເຂົາ​ເຈົ້າ​ກໍາ​ພ້າ​.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0b1

ກຸ່ມຂ້າ
ຖ້າເປັນຄວາມຈິງ, ເມື່ອສົ່ງ SIGKILL ໄປຫາໂຄງການເພື່ອຢຸດມັນສົ່ງໄປຫາມັນ
ກຸ່ມຂະບວນການທັງຫມົດແທນທີ່ຈະ, ການດູແລຂອງເດັກນ້ອຍຂອງຕົນເຊັ່ນດຽວກັນ, ທີ່ເປັນປະໂຫຍດ eg
ໂປຣແກຣມ Python ໂດຍໃຊ້ multiprocessing.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0a11

ຜູ້ໃຊ້
ແນະ ນຳ ຜູ້ຄຸມງານ ເພື່ອໃຊ້ບັນຊີຜູ້ໃຊ້ UNIX ນີ້ແມ່ນບັນຊີທີ່ດໍາເນີນການ
ໂຄງການ. ຜູ້ໃຊ້ສາມາດປ່ຽນໄດ້ພຽງແຕ່ຖ້າ ຜູ້ຄຸມງານ ແມ່ນດໍາເນີນການເປັນຜູ້ໃຊ້ຮາກ. ຖ້າ
ຜູ້ຄຸມງານ ບໍ່ສາມາດປ່ຽນໄປຫາຜູ້ໃຊ້ທີ່ລະບຸໄວ້, ໂຄງການຈະບໍ່ຖືກເລີ່ມຕົ້ນ.

ຫມາຍ​ເຫດ​:
ຜູ້ໃຊ້ຈະຖືກປ່ຽນໂດຍໃຊ້ ສະສົມ ເທົ່ານັ້ນ. ນີ້ບໍ່ໄດ້ເລີ່ມຕົ້ນ shell ເຂົ້າສູ່ລະບົບແລະ
ບໍ່ປ່ຽນແປງຕົວແປສະພາບແວດລ້ອມເຊັ່ນ ຜູ້ໃຊ້ or ຫນ້າທໍາອິດ, ທະເລສາບ
subprocess_environment ສໍາລັບລາຍລະອຽດ.

ມາດຕະຖານ: ຢ່າປ່ຽນຜູ້ໃຊ້

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

redirect_stderr
ຖ້າເປັນຈິງ, ເຮັດໃຫ້ຜົນຜະລິດ stderr ຂະບວນການຖືກສົ່ງໄປຫາ ຜູ້ຄຸມງານ ສຸດ stdout ຂອງຕົນ
ຕົວອະທິບາຍໄຟລ໌ (ໃນຂໍ້ກໍານົດຂອງ UNIX shell, ນີ້ແມ່ນເທົ່າກັບການປະຕິບັດ /the/ໂຄງການ
2> & 1).

ຫມາຍ​ເຫດ​:
ບໍ່ຕັ້ງ redirect_stderr = true ໃນຫນຶ່ງ [ຜູ້ຟັງເຫດການ:x] ພາກ. ຜູ້ຟັງເຫດການ
ການນໍາໃຊ້ stdout ແລະ stdin ຕິດຕໍ່ສື່ສານກັບ ຜູ້ຄຸມງານທີ່ຢູ່ ຖ້າຫາກວ່າ stderr ຖືກປ່ຽນເສັ້ນທາງ,
ຜົນຜະລິດຈາກ stderr ຈະແຊກແຊງໂປຣໂຕຄໍ eventlistener.

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0, ແທນທີ່ 2.0's log_stdout ແລະ log_stderr

stdout_logfile
ເອົາຜົນຜະລິດ stdout ຂະບວນການໃນໄຟລ໌ນີ້ (ແລະຖ້າ redirect_stderr ເປັນຄວາມຈິງ, ວາງ
stderr ຜົນຜະລິດໃນໄຟລ໌ນີ້). ຖ້າ stdout_logfile ບໍ່ໄດ້ຕັ້ງ ຫຼືຕັ້ງເປັນ AUTO, ຜູ້ຄຸມງານ
ຈະເລືອກສະຖານທີ່ໄຟລ໌ໂດຍອັດຕະໂນມັດ. ຖ້າຕັ້ງເປັນ NONE, ຜູ້ຄຸມງານຈະ
ສ້າງບໍ່ມີໄຟລ໌ບັນທຶກ. AUTO ບັນທຶກໄຟລ໌ແລະການສໍາຮອງຂໍ້ມູນຂອງເຂົາເຈົ້າຈະຖືກລຶບຖິ້ມເມື່ອ ຜູ້ຄຸມງານ
ຣີສະຕາດ. ໄດ້ stdout_logfile ຄ່າສາມາດມີ Python string expressions ທີ່ຈະ
ປະເມີນທຽບກັບວັດຈະນານຸກົມທີ່ມີກະແຈ group_name, host_node_name,
process_num, program_name, ແລະ ທີ່ນີ້ (ໄດເລກະທໍລີຂອງໄຟລ໌ config ຜູ້ເບິ່ງແຍງ).

ຫມາຍ​ເຫດ​:
ມັນເປັນໄປບໍ່ໄດ້ສໍາລັບສອງຂະບວນການທີ່ຈະແບ່ງປັນໄຟລ໌ບັນທຶກດຽວ (stdout_logfile)
ເມື່ອການຫມຸນ (stdout_logfile_maxbytes) ຖືກເປີດໃຊ້. ນີ້ຈະສົ່ງຜົນໃຫ້ໄຟລ໌
ຖືກເສຍຫາຍ.

ມາດຕະຖານ: AUTO

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0, ແທນທີ່ 2.0's logfile

stdout_logfile_maxbytes
ຈໍານວນສູງສຸດຂອງ bytes ທີ່ອາດຈະຖືກບໍລິໂພກໂດຍ stdout_logfile ກ່ອນທີ່ມັນຈະຫມຸນ
(ຕົວຄູນຕໍ່ທ້າຍເຊັ່ນ "KB", "MB", ແລະ "GB" ສາມາດຖືກນໍາໃຊ້ໃນມູນຄ່າ). ຕັ້ງນີ້
ຄ່າເປັນ 0 ເພື່ອຊີ້ບອກຂະໜາດບັນທຶກບໍ່ຈຳກັດ.

ມາດຕະຖານ: 50MB

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0, ແທນທີ່ 2.0's logfile_maxbytes

stdout_logfile_backups
ຈໍາ​ນວນ​ຂອງ stdout_logfile ສໍາຮອງຂໍ້ມູນເພື່ອຮັກສາຜົນໄດ້ຮັບຈາກບັນທຶກ stdout ຂະບວນການ
ການຫມຸນໄຟລ໌. ຖ້າຕັ້ງເປັນ 0, ຈະບໍ່ມີການສຳຮອງຂໍ້ມູນໃດໆ.

ມາດຕະຖານ: 10

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0, ແທນທີ່ 2.0's logfile_backups

stdout_capture_maxbytes
ຈໍານວນສູງສຸດຂອງ bytes ຂຽນເພື່ອເກັບກໍາ FIFO ໃນເວລາທີ່ຂະບວນການແມ່ນຢູ່ໃນ "stdout capture mode"
(ເບິ່ງ capture_mode). ຄວນເປັນຈຳນວນເຕັມ (ຕົວຄູນຕໍ່ທ້າຍເຊັ່ນ "KB", "MB" ແລະ "GB"
ສາມາດນໍາໃຊ້ໃນມູນຄ່າ). ຖ້າຄ່ານີ້ແມ່ນ 0, ໂໝດການບັນທຶກຂະບວນການຈະຖືກປິດ.

ມາດຕະຖານ: 0

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0, ແທນທີ່ 2.0's logfile_backups

stdout_events_enabled
ຖ້າເປັນຈິງ, ເຫດການ PROCESS_LOG_STDOUT ຈະຖືກປ່ອຍອອກມາເມື່ອຂະບວນການຂຽນໃສ່ມັນ
ຕົວອະທິບາຍໄຟລ໌ stdout. ເຫດການຈະຖືກປ່ອຍອອກມາເມື່ອຕົວອະທິບາຍໄຟລ໌ບໍ່ແມ່ນ
ໃນຮູບແບບການຈັບພາບໃນເວລາທີ່ໄດ້ຮັບຂໍ້ມູນ (ເບິ່ງ capture_mode).

ມາດຕະຖານ: 0

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0a7

stderr_logfile
ເອົາຜົນຜະລິດ stderr ຂະບວນການໃນໄຟລ໌ນີ້ເວັ້ນເສຍແຕ່ redirect_stderr ເປັນຄວາມຈິງ. ຍອມຮັບ
ປະເພດມູນຄ່າດຽວກັນກັບ stdout_logfile ແລະອາດມີ Python string expressions ດຽວກັນ.

ຫມາຍ​ເຫດ​:
ມັນເປັນໄປບໍ່ໄດ້ສໍາລັບສອງຂະບວນການທີ່ຈະແບ່ງປັນໄຟລ໌ບັນທຶກດຽວ (stderr_logfile)
ເມື່ອການຫມຸນ (stderr_logfile_maxbytes) ຖືກເປີດໃຊ້. ນີ້ຈະສົ່ງຜົນໃຫ້ໄຟລ໌
ຖືກເສຍຫາຍ.

ມາດຕະຖານ: AUTO

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

stderr_logfile_maxbytes
ຈໍານວນສູງສຸດຂອງ bytes ກ່ອນທີ່ຈະຫມຸນ logfile ສໍາລັບ stderr_logfile. ຍອມຮັບ
ປະເພດມູນຄ່າດຽວກັນກັບ stdout_logfile_maxbytes.

ມາດຕະຖານ: 50MB

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

stderr_logfile_backups
ຈໍາ​ນວນ​ຂອງ​ການ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ທີ່​ຈະ​ຮັກ​ສາ​ປະ​ມານ​ຈາກ​ຂະ​ບວນ​ການ stderr ການ​ຫມຸນ​ໄຟລ​໌​ບັນ​ທຶກ​.
ຖ້າຕັ້ງເປັນ 0, ຈະບໍ່ມີການສຳຮອງຂໍ້ມູນໃດໆ.

ມາດຕະຖານ: 10

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

stderr_capture_maxbytes
ຈໍານວນສູງສຸດຂອງ bytes ຂຽນເພື່ອເກັບກໍາ FIFO ໃນເວລາທີ່ຂະບວນການແມ່ນຢູ່ໃນ "stderr capture mode"
(ເບິ່ງ capture_mode). ຄວນເປັນຈຳນວນເຕັມ (ຕົວຄູນຕໍ່ທ້າຍເຊັ່ນ "KB", "MB" ແລະ "GB"
ສາມາດນໍາໃຊ້ໃນມູນຄ່າ). ຖ້າຄ່ານີ້ແມ່ນ 0, ໂໝດການບັນທຶກຂະບວນການຈະຖືກປິດ.

ມາດຕະຖານ: 0

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

stderr_events_enabled
ຖ້າເປັນຈິງ, ເຫດການ PROCESS_LOG_STDERR ຈະຖືກປ່ອຍອອກມາເມື່ອຂະບວນການຂຽນໃສ່ມັນ
ຕົວອະທິບາຍໄຟລ໌ stderr. ເຫດການຈະຖືກປ່ອຍອອກມາເມື່ອຕົວອະທິບາຍໄຟລ໌ບໍ່ແມ່ນ
ໃນຮູບແບບການຈັບພາບໃນເວລາທີ່ໄດ້ຮັບຂໍ້ມູນ (ເບິ່ງ capture_mode).

ມາດຕະຖານ: ບໍ່ຖືກຕ້ອງ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0a7

ສະພາບແວດລ້ອມ
ບັນຊີລາຍຊື່ຂອງຄູ່ຄີ/ມູນຄ່າໃນຮູບແບບ KEY="val",KEY2="val2" ທີ່ຈະຖືກຈັດໃສ່ໃນ
ສະພາບແວດລ້ອມຂະບວນການເດັກ. ສະຕຣິງສະພາບແວດລ້ອມອາດມີສະຕຣິງ Python
ການສະແດງອອກທີ່ຈະຖືກປະເມີນຕໍ່ກັບວັດຈະນານຸກົມທີ່ມີ group_name,
host_node_name, process_num, program_name, ແລະ ທີ່ນີ້ (ບັນ​ຊີ​ຂອງ​ຜູ້​ຄວບ​ຄຸມ​
config file). ຄວນອ້າງອີງຄ່າທີ່ມີຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ (ຕົວຢ່າງ
KEY="val:123",KEY2="val,456"). ຖ້າບໍ່ດັ່ງນັ້ນ, ການອ້າງອີງຄ່າແມ່ນທາງເລືອກແຕ່
ແນະນໍາໃຫ້. ຫມາຍ​ເຫດ​ ວ່າຂະບວນການຍ່ອຍຈະສືບທອດຕົວແປສະພາບແວດລ້ອມຂອງ
shell ໃຊ້ເພື່ອເລີ່ມຕົ້ນ "supervisord" ຍົກເວັ້ນສໍາລັບການ overridden ທີ່ນີ້. ເບິ່ງ
subprocess_vironment.

ມາດຕະຖານ: ບໍ່ມີສະພາບແວດລ້ອມພິເສດ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ລະບົບ
ເສັ້ນທາງໄຟລ໌ທີ່ເປັນຕົວແທນຂອງໄດເລກະທໍລີທີ່ ຜູ້ຄຸມງານ ຄວນ chdir ຊົ່ວຄາວ
ກ່ອນ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​ເດັກ​ນ້ອຍ​.

ມາດຕະຖານ: ບໍ່ມີ chdir (ສືບທອດຂອງຜູ້ຄຸມງານ)

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ໜ້າ ກາກ
ຕົວເລກແປດ (ຕົວຢ່າງ: 002, 022) ເປັນຕົວແທນຂອງ umask ຂອງຂະບວນການ.

ມາດຕະຖານ: ບໍ່ມີ umask ພິເສດ (ສືບທອດຂອງຜູ້ຄຸມງານ)

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

serverurl
URL ທີ່ຜ່ານໃນສະພາບແວດລ້ອມໄປສູ່ຂະບວນການຍ່ອຍເປັນ SUPERVISOR_SERVER_URL
(ເບິ່ງ supervisor.childutils) ເພື່ອອະນຸຍາດໃຫ້ຂະບວນການຍ່ອຍສາມາດຕິດຕໍ່ສື່ສານໄດ້ງ່າຍ
ເຊີບເວີ HTTP ພາຍໃນ. ຖ້າສະຫນອງໃຫ້, ມັນຄວນຈະມີ syntax ແລະໂຄງສ້າງດຽວກັນກັບ
[ຜູ້ຄຸມງານ] ທາງ​ເລືອກ​ພາກ​ສ່ວນ​ຂອງ​ຊື່​ດຽວ​ກັນ​. ຖ້າອັນນີ້ຖືກຕັ້ງເປັນ AUTO, ຫຼືບໍ່ໄດ້ຕັ້ງ,
ຜູ້ຄຸມງານຈະສ້າງ URL ຂອງເຊີບເວີໂດຍອັດຕະໂນມັດ, ໂດຍໃຫ້ຄວາມຕ້ອງການກັບເຄື່ອງແມ່ຂ່າຍ
ທີ່ຟັງຢູ່ໃນຊັອກເກັດໂດເມນ UNIX ຫຼາຍກວ່າຫນຶ່ງທີ່ຟັງຢູ່ໃນເຕົ້າຮັບອິນເຕີເນັດ.

ມາດຕະຖານ: ອັດຕະໂນມັດ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[ໂຄງການ:x] ສ່ວນ ຍົກຕົວຢ່າງ
[ໂຄງການ: cat]
ຄຳ ສັ່ງ =/bin/cat
process_name=%(program_name)s
numprocs=1
ໄດເລກະທໍລີ=/ tmp
umask=022
ບູລິມະສິດ = 999
autostart = ຄວາມຈິງ
autorestart=ບໍ່ຄາດຄິດ
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=TERM
stopwaitsec=10
stopasgroup=false
killasgroup=false
user=chrism
redirect_stderr=false
stdout_logfile=/a/ເສັ້ນທາງ
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stdout_events_enabled=false
stderr_logfile=/a/ເສັ້ນທາງ
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
stderr_events_enabled=false
ສະພາບແວດລ້ອມ=A="1",B="2"
serverurl=AUTO

[ລວມ​] ສ່ວນ ການຕັ້ງຄ່າ
ໄດ້ supervisord.conf ໄຟລ໌ອາດມີພາກສ່ວນທີ່ມີຊື່ [ລວມ​]. ຖ້າ​ຫາກ​ວ່າ​ການ​ຕັ້ງ​ຄ່າ​
ໄຟລ໌ປະກອບມີ [ລວມ​] ພາກສ່ວນ, ມັນຕ້ອງມີລະຫັດດຽວທີ່ມີຊື່ວ່າ "ໄຟລ໌". ໄດ້
ຄ່າໃນລະຫັດນີ້ລະບຸໄຟລ໌ການຕັ້ງຄ່າອື່ນໆທີ່ຈະລວມຢູ່ໃນ
ການຕັ້ງຄ່າ

[ລວມ​] ສ່ວນ ມູນຄ່າ
ໄຟ
ລຳດັບການແຍກຊ່ອງຫວ່າງຂອງໄຟລ໌ globs. ແຕ່ລະໄຟລ໌ glob ອາດຈະເປັນຢ່າງແທ້ຈິງຫຼືເປັນພີ່ນ້ອງກັນ.
ຖ້າໄຟລ໌ glob ແມ່ນພີ່ນ້ອງ, ມັນຖືວ່າເປັນພີ່ນ້ອງກັບສະຖານທີ່ຂອງ
ໄຟລ໌ການຕັ້ງຄ່າທີ່ປະກອບມີມັນ. A "glob" ແມ່ນຮູບແບບໄຟລ໌ທີ່ກົງກັບ a
ຮູບແບບທີ່ລະບຸໄວ້ຕາມກົດລະບຽບທີ່ໃຊ້ໂດຍ Unix shell. ບໍ່ມີການຂະຫຍາຍຕົວ tilde ແມ່ນ
ເຮັດໄດ້, ແຕ່ວ່າ *, ?, ແລະຂອບເຂດຕົວອັກສອນສະແດງອອກດ້ວຍ [] ຈະຖືກຈັບຄູ່ຢ່າງຖືກຕ້ອງ.
Recursive ປະກອບມີຈາກໄຟລ໌ທີ່ລວມມາແມ່ນບໍ່ສະຫນັບສະຫນູນ.

ມາດຕະຖານ: ບໍ່ມີຄ່າເລີ່ມຕົ້ນ (ຕ້ອງການ)

ທີ່ກໍານົດໄວ້: ແມ່ນແລ້ວ.

ແນະ ນຳ: 3.0

[ລວມ​] ສ່ວນ ຍົກຕົວຢ່າງ
[ລວມ​]
ໄຟລ໌ = /an/absolute/filename.conf /an/absolute/*.conf foo.conf config??.conf

[ກຸ່ມ:x] ສ່ວນ ການຕັ້ງຄ່າ
ມັນມັກຈະເປັນປະໂຫຍດທີ່ຈະຈັດກຸ່ມຂະບວນການ "homogeneous" (aka "programs") ຮ່ວມກັນເຂົ້າໄປໃນ a
ກຸ່ມຂະບວນການ "heterogeneous" ດັ່ງນັ້ນພວກເຂົາສາມາດຄວບຄຸມເປັນຫນ່ວຍງານຈາກ Supervisor's
ການໂຕ້ຕອບຕົວຄວບຄຸມຕ່າງໆ.

ເພື່ອຈັດວາງໂຄງການເຂົ້າໄປໃນກຸ່ມເພື່ອໃຫ້ທ່ານສາມາດປະຕິບັດໃຫ້ເຂົາເຈົ້າເປັນຫນ່ວຍງານ, ກໍານົດ a [ກຸ່ມ:x] ສ່ວນ
ໃນ​ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ທ່ານ​. ຄ່າສ່ວນຫົວຂອງກຸ່ມແມ່ນເປັນອົງປະກອບ. ມັນແມ່ນຄໍາສັບ
"ກຸ່ມ", ຕິດຕາມໂດຍກົງດ້ວຍຈໍ້າສອງເມັດ, ຫຼັງຈາກນັ້ນຊື່ກຸ່ມ. ຄ່າສ່ວນຫົວຂອງ [ກຸ່ມ​: foo​]
ອະທິບາຍກຸ່ມທີ່ມີຊື່ຂອງ "foo". ຊື່ແມ່ນໃຊ້ຢູ່ໃນຄໍາຮ້ອງສະຫມັກຂອງລູກຄ້າ
ທີ່ຄວບຄຸມຂະບວນການທີ່ຖືກສ້າງຂຶ້ນເປັນຜົນມາຈາກການຕັ້ງຄ່ານີ້. ມັນເປັນ
ຄວາມຜິດພາດໃນການສ້າງ a ກຸ່ມ ພາກສ່ວນທີ່ບໍ່ມີຊື່. ຊື່ຈະຕ້ອງບໍ່ປະກອບມີ a
ຕົວອັກສອນຈໍ້າສອງເມັດ ຫຼື ຕົວອັກສອນວົງເລັບ.

ສໍາ​ລັບ [ກຸ່ມ:x], ຕ້ອງມີຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ [ໂຄງການ:x] ພາກສ່ວນອື່ນຢູ່ໃນຂອງທ່ານ
ໄຟລ໌ການຕັ້ງຄ່າ, ແລະກຸ່ມຕ້ອງອ້າງອີງໃສ່ພວກມັນໂດຍຊື່ໃນ ໂຄງການ ມູນຄ່າ.

ຖ້າກຸ່ມຂະບວນການ "homogeneous" (ສະແດງໂດຍພາກສ່ວນໂຄງການ) ແມ່ນຖືກຈັດໃສ່ໃນ a
ກຸ່ມ "heterogeneous" ຜ່ານ [ກຸ່ມ:x] ພາກສ່ວນ ໂຄງການ ເສັ້ນ, ກຸ່ມ homogeneous ທີ່
ແມ່ນ implied ໂດຍພາກໂຄງການຈະບໍ່ມີຢູ່ໃນ runtime ໃນ supervisor. ແທນທີ່ຈະ, ທັງຫມົດ
ຂະ​ບວນ​ການ​ທີ່​ເປັນ​ຂອງ​ແຕ່​ລະ​ກຸ່ມ​ທີ່​ເປັນ​ເອ​ກະ​ລັກ​ຈະ​ໄດ້​ຮັບ​ການ​ຈັດ​ໃສ່​ໃນ​
ກຸ່ມ heterogeneous. ຕົວຢ່າງ, ໃຫ້ການຕັ້ງຄ່າກຸ່ມຕໍ່ໄປນີ້:

[ກຸ່ມ​: foo​]
programs=bar,baz
ບູລິມະສິດ = 999

ຕາມທີ່ກ່າວມາຂ້າງເທິງ, ໃນການເລີ່ມຕົ້ນຂອງຜູ້ເບິ່ງແຍງ, ໄດ້ ພາທະນາຍຄວາມ ແລະ ຖານ ກຸ່ມ homogeneous ຈະບໍ່
ມີຢູ່, ແລະຂະບວນການທີ່ຈະຢູ່ພາຍໃຕ້ພວກມັນໃນປັດຈຸບັນຈະຖືກຍ້າຍໄປຢູ່ໃນ ຟູ
ກຸ່ມ.

[ກຸ່ມ:x] ສ່ວນ ມູນຄ່າ
ໂຄງການ
ລາຍຊື່ໂປຣແກຣມທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ. ໂຄງ​ການ​ທີ່​ໄດ້​ລະ​ບຸ​ໄວ້​ເປັນ​ສະ​ມາ​ຊິກ​
ຂອງກຸ່ມ.

ມາດຕະຖານ: ບໍ່ມີຄ່າເລີ່ມຕົ້ນ (ຕ້ອງການ)

ທີ່ກໍານົດໄວ້: ແມ່ນແລ້ວ.

ແນະ ນຳ: 3.0

ບູລິມະສິດ
ຕົວເລກບູລິມະສິດປຽບທຽບກັບ a [ໂຄງການ:x] ຄ່າບູລິມະສິດມອບໝາຍໃຫ້ກຸ່ມ.

ມາດຕະຖານ: 999

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[ກຸ່ມ:x] ສ່ວນ ຍົກຕົວຢ່າງ
[ກຸ່ມ​: foo​]
programs=bar,baz
ບູລິມະສິດ = 999

[fcgi-ໂຄງການ:x] ສ່ວນ ການຕັ້ງຄ່າ
ຜູ້ຄຸມງານສາມາດຈັດການກຸ່ມຂອງ FastCGI ຂະບວນການທີ່ຟັງທັງຫມົດຢູ່ໃນເຕົ້າຮັບດຽວກັນ.
ຈົນກ່ວາໃນປັດຈຸບັນ, ຄວາມຍືດຫຍຸ່ນຂອງການປະຕິບັດສໍາລັບ FastCGI ໄດ້ຖືກຈໍາກັດ. ເພື່ອໃຫ້ໄດ້ຮັບຂະບວນການຢ່າງເຕັມທີ່
ການຄຸ້ມຄອງ, ທ່ານສາມາດນໍາໃຊ້ mod_fastcgi ພາຍໃຕ້ Apache ແຕ່ຫຼັງຈາກນັ້ນທ່ານໄດ້ຕິດຢູ່ກັບ Apache
ຮູບແບບທີ່ສອດຄ່ອງກັນທີ່ບໍ່ມີປະສິດຕິພາບຂອງຂະບວນການຫນຶ່ງຫຼືກະທູ້ຕໍ່ການເຊື່ອມຕໍ່. ນອກ​ຈາກ​ນັ້ນ
ຕ້ອງການຊັບພະຍາກອນ CPU ແລະຫນ່ວຍຄວາມຈໍາຫຼາຍ, ຂະບວນການ / ກະທູ້ຕໍ່ຮູບແບບການເຊື່ອມຕໍ່ສາມາດເປັນ
ອີ່ມຕົວຢ່າງໄວວາໂດຍຊັບພະຍາກອນຊ້າ, ປ້ອງກັນບໍ່ໃຫ້ຊັບພະຍາກອນອື່ນຖືກຮັບໃຊ້. ໃນ
ເພື່ອໃຊ້ປະໂຍດຈາກເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ທີ່ຂັບເຄື່ອນເຫດການໃຫມ່ເຊັ່ນ lighttpd ຫຼື nginx ເຊິ່ງ
ບໍ່ປະກອບມີຕົວຈັດການຂະບວນການທີ່ສ້າງຂຶ້ນ, ທ່ານຕ້ອງໃຊ້ສະຄິບເຊັ່ນ cgi-fcgi ຫຼື
spawn-fcgi. ເຫຼົ່ານີ້ສາມາດໃຊ້ຮ່ວມກັບຜູ້ຈັດການຂະບວນການເຊັ່ນ: ຜູ້ຄວບຄຸມ
ຫຼື daemontools ແຕ່ຕ້ອງການແຕ່ລະຂະບວນການລູກ FastCGI ເພື່ອຜູກມັດກັບເຕົ້າຮັບຂອງຕົນເອງ. ໄດ້
ຂໍ້​ເສຍ​ຂອງ​ສິ່ງ​ນີ້​ແມ່ນ​: ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ເວັບ​ໄຊ​ຕ​໌​ທີ່​ບໍ່​ຈໍາ​ເປັນ​ສັບ​ສົນ​, unraceful​
restarts, ແລະຫຼຸດຜ່ອນຄວາມທົນທານຕໍ່ຄວາມຜິດພາດ. ດ້ວຍເຕົ້າສຽບໜ້ອຍກວ່າເພື່ອກຳນົດຄ່າ, ເຊີບເວີເວັບ
ການຕັ້ງຄ່າມີຂະຫນາດນ້ອຍກວ່າຖ້າກຸ່ມຂອງຂະບວນການ FastCGI ສາມາດແບ່ງປັນຊັອກເກັດ. ແບ່ງປັນ
ເຕົ້າຮັບອະນຸຍາດໃຫ້ມີການເລີ່ມຕົ້ນໃຫມ່ຢ່າງສະຫງ່າງາມເພາະວ່າເຕົ້າຮັບຍັງຖືກຜູກມັດໂດຍຂະບວນການພໍ່ແມ່
ໃນຂະນະທີ່ຂະບວນການໃດໆຂອງເດັກກໍາລັງຖືກເລີ່ມຕົ້ນໃຫມ່. ສຸດທ້າຍ, ເຕົ້າຮັບທີ່ໃຊ້ຮ່ວມກັນແມ່ນມີຫຼາຍຂຶ້ນ
ມີຄວາມທົນທານຕໍ່ຄວາມຜິດເພາະວ່າຖ້າຂະບວນການທີ່ມອບໃຫ້ລົ້ມເຫລວ, ຂະບວນການອື່ນໆສາມາດສືບຕໍ່ໃຫ້ບໍລິການ
ການເຊື່ອມຕໍ່ຂາເຂົ້າ.

ດ້ວຍ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ FastCGI ປະ​ສົມ​ປະ​ສານ, Supervisor ໃຫ້​ທ່ານ​ທີ່​ດີ​ທີ່​ສຸດ​ຂອງ​ທັງ​ສອງ​ໂລກ.
ທ່ານ​ໄດ້​ຮັບ​ການ​ຄຸ້ມ​ຄອງ​ຂະ​ບວນ​ການ​ທີ່​ມີ​ຄຸນ​ສົມ​ບັດ​ຢ່າງ​ເຕັມ​ທີ່​ກັບ​ກຸ່ມ​ເຕົ້າ​ຮັບ​ການ​ແບ່ງ​ປັນ​ຂະ​ບວນ​ການ FastCGI​
ໂດຍບໍ່ມີການຜູກມັດກັບເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ໂດຍສະເພາະ. ມັນເປັນການແຍກຄວາມກັງວົນທີ່ສະອາດ,
ອະນຸຍາດໃຫ້ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ແລະຜູ້ຈັດການຂະບວນການແຕ່ລະຄົນເຮັດສິ່ງທີ່ພວກເຂົາເຮັດໄດ້ດີທີ່ສຸດ.

ຫມາຍ​ເຫດ​:
ຜູ້ຈັດການຊັອກເກັດໃນ Supervisor ໄດ້ຖືກພັດທະນາໃນເບື້ອງຕົ້ນເພື່ອສະຫນັບສະຫນູນຂະບວນການ FastCGI
ແຕ່ມັນບໍ່ຈໍາກັດກັບ FastCGI. ໂປໂຕຄອນອື່ນໆອາດຈະຖືກນໍາໃຊ້ເຊັ່ນດຽວກັນໂດຍບໍ່ມີພິເສດ
ການຕັ້ງຄ່າ. ໂປຣແກຣມໃດນຶ່ງທີ່ສາມາດເຂົ້າເຖິງຊັອກເກັດເປີດຈາກຕົວອະທິບາຍໄຟລ໌ (ຕົວຢ່າງ
ກັບ socket.fromfd ໃນ Python) ສາມາດໃຊ້ຕົວຈັດການຊັອກເກັດ. ຜູ້ຄຸມງານຈະ
ອັດຕະໂນມັດສ້າງເຕົ້າຮັບ, ຜູກມັດ, ແລະຟັງກ່ອນທີ່ຈະ forking ລູກທໍາອິດໃນ a
ກຸ່ມ. ເຕົ້າຮັບຈະຖືກສົ່ງຕໍ່ໄປຫາແຕ່ລະລູກດ້ວຍໝາຍເລກຕົວອະທິບາຍໄຟລ໌ 0 (ສູນ).
ເມື່ອລູກຄົນສຸດທ້າຍໃນກຸ່ມອອກໄປ, ຜູ້ຄຸມຈະປິດເຕົ້າຮັບ.

ທາງເລືອກທັງຫມົດທີ່ມີໃຫ້ [ໂຄງການ:x] ພາກສ່ວນຍັງໄດ້ຮັບການເຄົາລົບໂດຍ fcgi-ໂຄງການ
ພາກສ່ວນ.

[fcgi-ໂຄງການ:x] ສ່ວນ ມູນຄ່າ
[fcgi-ໂຄງການ:x] ພາກສ່ວນຕ່າງໆມີປຸ່ມອັນດຽວ [ໂຄງການ:x] ພາກສ່ວນບໍ່ມີ.

socket
ເຕົ້າຮັບ FastCGI ສໍາລັບໂຄງການນີ້, ບໍ່ວ່າຈະເປັນ TCP ຫຼືຊັອກເກັດໂດເມນ UNIX. ສໍາລັບເຕົ້າສຽບ TCP,
ໃຊ້ຮູບແບບນີ້: tcp://localhost:9002. ສຳລັບຊັອກເກັດໂດເມນຂອງ UNIX, ໃຫ້ໃຊ້
unix:///absolute/path/to/file.sock. ການສະແດງສະຕິງຖືກປະເມີນຕໍ່ກັບ a
ວັດຈະນານຸກົມທີ່ມີກະແຈ "program_name" ແລະ "ທີ່ນີ້" (ໄດເລກະທໍລີຂອງ
supervisord config file).

ມາດຕະຖານ: ບໍ່ມີຄ່າເລີ່ມຕົ້ນ.

ທີ່ກໍານົດໄວ້: ແມ່ນແລ້ວ.

ແນະ ນຳ: 3.0

socket_owner
ສໍາລັບຊັອກເກັດໂດເມນ UNIX, ພາລາມິເຕີນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອກໍານົດຜູ້ໃຊ້ແລະກຸ່ມສໍາລັບ
ເຕົ້າຮັບ FastCGI. ອາດຈະເປັນຊື່ຜູ້ໃຊ້ UNIX (ເຊັ່ນ chrism) ຫຼືຊື່ຜູ້ໃຊ້ UNIX ແລະກຸ່ມ
ແຍກອອກດ້ວຍຈໍ້າສອງເມັດ (ຕົວຢ່າງ: chrism:wheel).

ມາດຕະຖານ: ໃຊ້ຜູ້ໃຊ້ແລະກຸ່ມທີ່ກໍານົດໄວ້ສໍາລັບ fcgi-program

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

socket_mode
ສໍາລັບຊັອກເກັດໂດເມນຂອງ UNIX, ພາລາມິເຕີນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອກໍານົດຮູບແບບການອະນຸຍາດ.

ມາດຕະຖານ: 0700

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

ປຶກສາຫາລື [ໂຄງການ:x] ສ່ວນ ການຕັ້ງຄ່າ ສໍາລັບກະແຈອື່ນໆທີ່ອະນຸຍາດ, delta ຂໍ້ຈໍາກັດຂ້າງເທິງ
ແລະການເພີ່ມເຕີມ.

[fcgi-ໂຄງການ:x] ສ່ວນ ຍົກຕົວຢ່າງ
[fcgi-program:fcgiprogramname]
ຄໍາສັ່ງ =/usr/bin/example.fcgi
socket=unix:///var/run/supervisor/%(program_name)s.sock
socket_owner=ຄຣິສມ
socket_mode=0700
process_name=%(program_name)s_%(process_num)02d
numprocs=5
ໄດເລກະທໍລີ=/ tmp
umask=022
ບູລິມະສິດ = 999
autostart = ຄວາມຈິງ
autorestart=ບໍ່ຄາດຄິດ
startsecs=1
startretries=3
exitcodes=0,2
stopsignal=ອອກ
stopasgroup=false
killasgroup=false
stopwaitsec=10
user=chrism
redirect_stderr = true
stdout_logfile=/a/ເສັ້ນທາງ
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_events_enabled=false
stderr_logfile=/a/ເສັ້ນທາງ
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_events_enabled=false
ສະພາບແວດລ້ອມ=A="1",B="2"
serverurl=AUTO

[ຜູ້ຟັງເຫດການ:x] ສ່ວນ ການຕັ້ງຄ່າ
Supervisor ອະ​ນຸ​ຍາດ​ໃຫ້​ກຸ່ມ​ຂະ​ບວນ​ການ​ເປັນ​ເອ​ກະ​ລັກ​ສະ​ເພາະ ("ສະ​ນຸກ​ເກີ​ຟັງ​ເຫດ​ການ​"​) ເປັນ​
ກໍານົດພາຍໃນໄຟລ໌ການຕັ້ງຄ່າ. ສະນຸກເກີເຫຼົ່ານີ້ປະກອບດ້ວຍຂະບວນການທີ່ຫມາຍເຖິງ
ຮັບ​ແລະ​ຕອບ​ສະ​ຫນອງ​ການ​ແຈ້ງ​ການ​ເຫດ​ການ​ຈາກ​ລະ​ບົບ​ເຫດ​ການ​ຂອງ​ຜູ້​ຄວບ​ຄຸມ​. ເບິ່ງເຫດການສໍາລັບ
ຄໍາອະທິບາຍກ່ຽວກັບວິທີການເຮັດວຽກຂອງເຫດການແລະວິທີການປະຕິບັດໂຄງການທີ່ສາມາດປະກາດໄດ້
ຜູ້ຟັງເຫດການ.

ໃຫ້ສັງເກດວ່າທຸກທາງເລືອກທີ່ມີໃຫ້ [ໂຄງການ:x] ພາກສ່ວນຕ່າງໆໄດ້ຖືກເຄົາລົບໂດຍຜູ້ຟັງເຫດການ
ພາກສ່ວນ ຍົກເວັ້ນ ສໍາລັບການ stdout_capture_maxbytes ແລະ stderr_capture_maxbytes (ຜູ້​ຟັງ​ເຫດ​ການ
ບໍ່ສາມາດປ່ອຍເຫດການການສື່ສານຂະບວນການ, ເບິ່ງ capture_mode).

[ຜູ້ຟັງເຫດການ:x] ສ່ວນ ມູນຄ່າ
[ຜູ້ຟັງເຫດການ:x] ພາກສ່ວນມີປຸ່ມບໍ່ຫຼາຍປານໃດທີ່ [ໂຄງການ:x] ພາກສ່ວນບໍ່ມີ.

buffer_size
ຂະໜາດ buffer ແຖວເຫດການຂອງກຸ່ມຜູ້ຟັງເຫດການ. ເມື່ອ buffer ເຫດການຂອງກຸ່ມຜູ້ຟັງ
ແມ່ນ overflowed (ເຊັ່ນ​ດຽວ​ກັນ​ສາ​ມາດ​ເກີດ​ຂຶ້ນ​ໃນ​ເວ​ລາ​ທີ່​ສະ​ນຸກ​ເກີ​ຟັງ​ເຫດ​ການ​ບໍ່​ສາ​ມາດ​ຕິດ​ຕາມ​ທັງ​ຫມົດ​ຂອງ​
ເຫດການທີ່ຖືກສົ່ງໄປຫາມັນ), ເຫດການເກົ່າແກ່ທີ່ສຸດໃນ buffer ແມ່ນຖືກຍົກເລີກ.

ກິດຈະກໍາ
ບັນຊີລາຍຊື່ທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ປະເພດເຫດການທີ່ຜູ້ຟັງນີ້ "ສົນໃຈ" ໃນ
ການ​ຮັບ​ແຈ້ງ​ການ​ສໍາ​ລັບ (ເບິ່ງ event_types ສໍາ​ລັບ​ລາຍ​ການ​ຂອງ​ຊື່​ປະ​ເພດ​ເຫດ​ການ​ທີ່​ຖືກ​ຕ້ອງ​)​.

result_handler
A pkg_resources entry ຈຸດ string ທີ່ແກ້ໄຂກັບ Python callable. ຄ່າເລີ່ມຕົ້ນ
ມູນຄ່າແມ່ນ supervisor.dispatchers:default_handler. ການລະບຸຜົນໄດ້ຮັບສຳຮອງ
handler ແມ່ນສິ່ງທີ່ແປກຫຼາຍທີ່ຈະຕ້ອງເຮັດ, ແລະດັ່ງນັ້ນ, ວິທີການສ້າງຫນຶ່ງແມ່ນ
ບໍ່ໄດ້ບັນທຶກ.

ປຶກສາຫາລື [ໂຄງການ:x] ສ່ວນ ການຕັ້ງຄ່າ ສໍາລັບກະແຈອື່ນໆທີ່ອະນຸຍາດ, delta ຂໍ້ຈໍາກັດຂ້າງເທິງ
ແລະການເພີ່ມເຕີມ.

[ຜູ້ຟັງເຫດການ:x] ສ່ວນ ຍົກຕົວຢ່າງ
[Eventlistener:theeventlistenername]
ຄໍາສັ່ງ =/bin/eventlistener
process_name=%(program_name)s_%(process_num)02d
numprocs=5
events=PROCESS_STATE
buffer_size=10
ໄດເລກະທໍລີ=/ tmp
umask=022
ບູລິມະສິດ=-1
autostart = ຄວາມຈິງ
autorestart=ບໍ່ຄາດຄິດ
startsecs=1
startretries=3
exitcodes=0,2
stopsignal=ອອກ
stopwaitsec=10
stopasgroup=false
killasgroup=false
user=chrism
redirect_stderr=false
stdout_logfile=/a/ເສັ້ນທາງ
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_events_enabled=false
stderr_logfile=/a/ເສັ້ນທາງ
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_events_enabled=false
ສະພາບແວດລ້ອມ=A="1",B="2"
serverurl=AUTO

[rpcinterface:x] ສ່ວນ ການຕັ້ງຄ່າ
ເພີ່ມຕື່ມ rpcinterface:x ການຕັ້ງຄ່າໃນໄຟລ໌ການຕັ້ງຄ່າແມ່ນເປັນປະໂຫຍດພຽງແຕ່ສໍາລັບຜູ້ທີ່
ຕ້ອງການຂະຫຍາຍຜູ້ຄຸມງານດ້ວຍການປະພຶດແບບກຳນົດເອງເພີ່ມເຕີມ.

ໃນໄຟລ໌ config ຕົວຢ່າງ, ມີສ່ວນຫນຶ່ງທີ່ມີຊື່ [rpcinterface: supervisor].
ໂດຍຄ່າເລີ່ມຕົ້ນມັນເບິ່ງຄືວ່າຕໍ່ໄປນີ້.

[rpcinterface: supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

ໄດ້ [rpcinterface: supervisor] ສ່ວນ ຕ້ອງ ຍັງຄົງຢູ່ໃນການຕັ້ງຄ່າສໍາລັບມາດຕະຖານ
ການ​ຕັ້ງ​ຜູ້​ຄວບ​ຄຸມ​ເພື່ອ​ເຮັດ​ວຽກ​ຢ່າງ​ຖືກ​ຕ້ອງ​. ຖ້າເຈົ້າບໍ່ຕ້ອງການໃຫ້ຜູ້ຄຸມງານເຮັດຫຍັງເລີຍ
ບໍ່ໄດ້ເຮັດແລ້ວອອກຈາກກ່ອງ, ນີ້ແມ່ນທັງຫມົດທີ່ທ່ານຈໍາເປັນຕ້ອງຮູ້ກ່ຽວກັບປະເພດນີ້
ສ່ວນ.

ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານຕ້ອງການເພີ່ມ namespaces ໃນການໂຕ້ຕອບ rpc ເພື່ອປັບແຕ່ງຜູ້ເບິ່ງແຍງ, ທ່ານ
ອາດຈະເພີ່ມຕື່ມ [rpcinterface:foo] ພາກສ່ວນ, ບ່ອນທີ່ "foo" ເປັນຕົວແທນຂອງ namespace ຂອງ
ການໂຕ້ຕອບ (ຈາກຮາກເວັບ), ແລະມູນຄ່າທີ່ມີຊື່ໂດຍ supervisor.rpcinterface_factory
ແມ່ນໂຮງງານທີ່ສາມາດໂທຫາໄດ້ເຊິ່ງຄວນຈະມີລາຍເຊັນຂອງຫນ້າທີ່ຍອມຮັບອັນດຽວ
ການໂຕ້ຖຽງຕໍາແຫນ່ງ ຜູ້ຄຸມງານ ແລະການໂຕ້ຖຽງຄໍາຫລັກຫຼາຍເທົ່າທີ່ຕ້ອງການເພື່ອປະຕິບັດ
ການຕັ້ງຄ່າ. ຄູ່ຄີ/ຄ່າພິເສດໃດນຶ່ງທີ່ກຳນົດໄວ້ພາຍໃນ [rpcinterface:x] ພາກສ່ວນຈະ
ຈະຖືກສົ່ງຜ່ານເປັນການໂຕ້ຖຽງຄໍາຫລັກໄປຫາໂຮງງານ.

ນີ້ແມ່ນຕົວຢ່າງຂອງຫນ້າທີ່ໂຮງງານຜະລິດ, ສ້າງຢູ່ໃນ __init__.py ໄຟລ໌ຂອງ Python
ຊຸດ my.package.

ຈາກ my.package.rpcinterface ນໍາເຂົ້າ AnotherRPCIInterface

def make_another_rpcinterface(supervisord, **config):
retries = int(config.get('retries', 0))
another_rpc_interface = ໂຕອື່ນ RPCInterface(ຜູ້ເບິ່ງແຍງ, ລອງໃໝ່)
ກັບຄືນ another_rpc_interface

ແລະພາກສ່ວນໃນໄຟລ໌ config ຫມາຍຄວາມວ່າຈະ configure ມັນ.

[rpcinterface: ອື່ນ]
supervisor.rpcinterface_factory = my.package:make_another_rpcinterface
ລອງໃຫມ່ = 1

[rpcinterface:x] ສ່ວນ ມູນຄ່າ
supervisor.rpcinterface_factory
pkg_resources "ຈຸດເຂົ້າ" dotted ຊື່ກັບຫນ້າທີ່ໂຮງງານຜະລິດຂອງການໂຕ້ຕອບ RPC ຂອງທ່ານ.

ມາດຕະຖານ: ບໍ່ມີ

ທີ່ກໍານົດໄວ້: ບໍ່.

ແນະ ນຳ: 3.0

[rpcinterface:x] ສ່ວນ ຍົກຕົວຢ່າງ
[rpcinterface: ອື່ນ]
supervisor.rpcinterface_factory = my.package:make_another_rpcinterface
ລອງໃຫມ່ = 1

ຂະບວນການຍ່ອຍ
ຜູ້ຄຸມງານຈຸດ​ປະ​ສົງ​ຕົ້ນ​ຕໍ​ຂອງ​ແມ່ນ​ເພື່ອ​ສ້າງ​ແລະ​ຈັດ​ການ​ຂະ​ບວນ​ການ​ໂດຍ​ອີງ​ໃສ່​ຂໍ້​ມູນ​ໃນ​ຂອງ​ຕົນ​
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​. ມັນເຮັດສິ່ງນີ້ໂດຍການສ້າງຂະບວນການຍ່ອຍ. ແຕ່​ລະ​ຂະ​ບວນ​ການ​ຍ່ອຍ spawned ໂດຍ​
ຜູ້ຄຸມງານຖືກຄຸ້ມຄອງຕະຫຼອດຊີວິດໂດຍຜູ້ຄຸມງານ (ຜູ້ຄຸມງານ ເປັນ
ຂະບວນການແມ່ຂອງແຕ່ລະຂະບວນການທີ່ມັນສ້າງ). ເມື່ອເດັກເສຍຊີວິດ, ຜູ້ຄຸມງານຈະຖືກແຈ້ງໃຫ້ຊາບ
ການເສຍຊີວິດຂອງຕົນໂດຍຜ່ານ SIGCHLD ສັນຍານ, ແລະມັນປະຕິບັດການດໍາເນີນງານທີ່ເຫມາະສົມ.

Nondaemonizing of ຂະບວນການຍ່ອຍ
ບັນດາໂຄງການທີ່ຕ້ອງດໍາເນີນການພາຍໃຕ້ຜູ້ຄຸມງານບໍ່ຄວນເຮັດໃຫ້ຕົນເອງຖືກທໍາລາຍ. ແທນທີ່ຈະ, ພວກເຂົາ
ຄວນດໍາເນີນການຢູ່ເບື້ອງຫນ້າ. ເຂົາເຈົ້າບໍ່ຄວນແຍກອອກຈາກ terminal ຈາກທີ່ເຂົາເຈົ້າ
ແມ່ນໄດ້ເລີ່ມຕົ້ນ.

ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະບອກໄດ້ວ່າໂຄງການຈະດໍາເນີນການຢູ່ໃນ foreground ແມ່ນເພື່ອດໍາເນີນການຄໍາສັ່ງນັ້ນ
ຮຽກ​ຮ້ອງ​ໃຫ້​ໂຄງ​ການ​ຈາກ​ການ​ກະ​ຕຸ້ນ​ຫອຍ​. ຖ້າ​ຫາກ​ວ່າ​ມັນ​ເຮັດ​ໃຫ້​ທ່ານ​ຄວບ​ຄຸມ​ຂອງ terminal ກັບ​ຄືນ​ໄປ​ບ່ອນ​,
ແຕ່ສືບຕໍ່ແລ່ນ, ມັນແມ່ນ daemonizing ຕົວຂອງມັນເອງແລະນັ້ນເກືອບແນ່ນອນຈະຜິດພາດ
ວິທີການດໍາເນີນການພາຍໃຕ້ການຊີ້ນໍາ. ທ່ານຕ້ອງການດໍາເນີນການຄໍາສັ່ງທີ່ຈໍາເປັນຢ່າງຈິງຈັງ
ກົດ Ctrl-C ເພື່ອໃຫ້ໄດ້ຮັບການຄວບຄຸມຂອງ terminal ກັບຄືນໄປບ່ອນ. ຖ້າ​ຫາກ​ວ່າ​ມັນ​ເຮັດ​ໃຫ້​ທ່ານ​ກະ​ຕຸ້ນ​ຫອຍ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​
ຫຼັງຈາກແລ່ນມັນໂດຍບໍ່ຈໍາເປັນຕ້ອງກົດ Ctrl-C, ມັນບໍ່ເປັນປະໂຫຍດພາຍໃຕ້ການຊີ້ນໍາ. ທັງໝົດ
ບັນດາໂຄງການມີທາງເລືອກທີ່ຈະດໍາເນີນການຢູ່ເບື້ອງຫນ້າແຕ່ບໍ່ມີ "ວິທີການມາດຕະຖານ" ທີ່ຈະເຮັດມັນ;
ທ່ານຈໍາເປັນຕ້ອງໄດ້ອ່ານເອກະສານສໍາລັບແຕ່ລະໂຄງການ.

ຂ້າງລຸ່ມນີ້ແມ່ນຕົວຢ່າງໄຟລ໌ການຕັ້ງຄ່າທີ່ຮູ້ຈັກເພື່ອເລີ່ມຕົ້ນໂຄງການທົ່ວໄປໃນ
ໂໝດ "ດ້ານໜ້າ" ພາຍໃຕ້ຜູ້ຄຸມງານ.

ຕົວຢ່າງ of ໂຄງການ Configurations
ນີ້ແມ່ນບາງຕົວຢ່າງການຕັ້ງຄ່າໂປຣແກຣມ "ໂລກທີ່ແທ້ຈິງ":

Apache 2.2.6
[ໂຄງການ:apache2]
ຄໍາສັ່ງ =/path/to/httpd -c "ErrorLog /dev/stdout" -DFOREGROUND
redirect_stderr = true

ສອງ Zope ປີ 2.X instances ແລະ ຫນຶ່ງ ສູນ ເຄື່ອງແມ່ຂ່າຍ
[ໂຄງການ: zeo]
ຄໍາສັ່ງ =/path/to/runzeo
ບູລິມະສິດ = 1

[ໂຄງການ:zope1]
ຄໍາສັ່ງ =/path/to/instance/home/bin/runzope
ບູລິມະສິດ = 2
redirect_stderr = true

[ໂຄງການ:zope2]
command =/path/to/another/instance/home/bin/runzope
ບູລິມະສິດ = 2
redirect_stderr = true

ໄປສະນີ ປີ 8.X
[ໂຄງການ:postgres]
ຄໍາສັ່ງ =/path/to/postmaster
; ພວກເຮົາໃຊ້ສັນຍານປິດ "ໄວ" SIGINT
stopsignal=INT
redirect_stderr = true

OpenLDAP ຕົບ
[ໂຄງການ: slapd]
command=/path/to/slapd -f /path/to/slapd.conf -h ldap://0.0.0.0:8888
redirect_stderr = true

ອື່ນ ໆ ຕົວຢ່າງ
ຕົວຢ່າງອື່ນຂອງ shell script ທີ່ສາມາດໃຊ້ເພື່ອເລີ່ມຕົ້ນການບໍລິການພາຍໃຕ້ ຜູ້ຄຸມງານ ສາມາດເຮັດໄດ້
ພົບເຫັນຢູ່ http://thedjbway.b0llix.net/services.html. ຕົວຢ່າງເຫຼົ່ານີ້ແມ່ນຕົວຈິງສໍາລັບ
daemontools ແຕ່ສະຖານທີ່ແມ່ນຄືກັນສໍາລັບຜູ້ຄຸມງານ.

ການເກັບກໍາສູດສູດອື່ນສໍາລັບການເລີ່ມຕົ້ນໂຄງການຕ່າງໆໃນເບື້ອງຫນ້າແມ່ນມີຢູ່
ຈາກ http://smarden.org/runit/runscripts.html.

pidproxy ໂຄງການ
ຂະບວນການບາງຢ່າງ (ເຊັ່ນ: mysqld) ບໍ່ສົນໃຈສັນຍານທີ່ຖືກສົ່ງໄປຫາຂະບວນການຕົວຈິງທີ່ spawned ໂດຍ
ຜູ້ຄຸມງານ. ແທນທີ່ຈະ, ກະທູ້ / ຂະບວນການ "ພິເສດ" ຖືກສ້າງຂື້ນໂດຍໂຄງການປະເພດເຫຼົ່ານີ້
ເຊິ່ງຮັບຜິດຊອບໃນການຈັດການສັນຍານ. ນີ້ແມ່ນບັນຫາເພາະວ່າ ຜູ້ຄຸມງານ ສາມາດເຮັດໄດ້
ພຽງແຕ່ຂ້າຂະບວນການທີ່ມັນສ້າງເອງ. ຖ້າຂະບວນການສ້າງໂດຍ ຜູ້ຄຸມງານ ສ້າງ
ຂະ​ບວນ​ການ​ຂອງ​ເດັກ​ນ້ອຍ​ຂອງ​ຕົນ​ເອງ​, ຜູ້ຄຸມງານ ບໍ່ສາມາດຂ້າພວກເຂົາ.

ໂຊກດີ, ປະເພດຂອງໂປລແກລມເຫຼົ່ານີ້ມັກຈະຂຽນ "pidfile" ເຊິ່ງປະກອບດ້ວຍ
ຂະບວນການ "ພິເສດ" PID, ແລະຫມາຍເຖິງການອ່ານແລະນໍາໃຊ້ເພື່ອຂ້າຂະບວນການ. ເປັນ
ການແກ້ໄຂສໍາລັບກໍລະນີນີ້, ພິເສດ pidproxy ໂຄງການສາມາດຈັດການການເລີ່ມຕົ້ນຂອງປະເພດເຫຼົ່ານີ້
ຂອງ​ຂະ​ບວນ​ການ​. ໄດ້ pidproxy ໂຄງການແມ່ນ shim ຂະຫນາດນ້ອຍທີ່ເລີ່ມຕົ້ນຂະບວນການ, ແລະຕາມ
ການຮັບສັນຍານ, ສົ່ງສັນຍານໄປຫາ pid ທີ່ສະຫນອງໃຫ້ຢູ່ໃນ pidfile. ຕົວຢ່າງ
ການເຂົ້າໂປຣແກຣມການຕັ້ງຄ່າສຳລັບໂປແກມທີ່ເປີດໃຊ້ pidproxy ແມ່ນສະໜອງໃຫ້ຂ້າງລຸ່ມນີ້.

[ໂຄງການ: mysql]
ຄໍາສັ່ງ =/path/to/pidproxy /path/to/pidfile /path/to/mysqld_safe

ໄດ້ pidproxy ໂຄງ​ການ​ແມ່ນ​ໄດ້​ໃສ່​ໃນ​ການ​ຕັ້ງ​ຄ່າ​ຂອງ​ທ່ານ​ $BINDIR ເມື່ອຜູ້ຄຸມງານຖືກຕິດຕັ້ງ
(ມັນເປັນ "script console").

ຂະບວນການຍ່ອຍ ສະພາບແວດລ້ອມ
ຂະບວນການຍ່ອຍຈະສືບທອດສະພາບແວດລ້ອມຂອງແກະທີ່ໃຊ້ເພື່ອເລີ່ມຕົ້ນການ ຜູ້ຄຸມງານ
ໂຄງການ. ຕົວແປສະພາບແວດລ້ອມຫຼາຍອັນຈະຖືກກໍານົດໂດຍ ຜູ້ຄຸມງານ ຕົວຂອງມັນເອງຢູ່ໃນເດັກນ້ອຍ
ສະພາບແວດລ້ອມ, ລວມທັງ SUPERVISOR_ENABLED (ທຸງຊີ້ບອກຂະບວນການແມ່ນຢູ່ພາຍໃຕ້
ການ​ຄວບ​ຄຸມ​ຜູ້​ດູ​ແລ​) SUPERVISOR_PROCESS_NAME (ຊື່ຂະບວນການ config-file-specified ສໍາລັບ
ຂະ​ບວນ​ການ​ນີ້​) ແລະ​ SUPERVISOR_GROUP_NAME (ຊື່ກຸ່ມຂະບວນການ config-file-specified ສໍາລັບ
ຂະ​ບວນ​ການ​ເດັກ​ນ້ອຍ​)​.

ຕົວແປສະພາບແວດລ້ອມເຫຼົ່ານີ້ອາດຈະຖືກລົບລ້າງພາຍໃນ [ຜູ້ຄຸມງານ] ການຕັ້ງຄ່າພາກ
ທາງ​ເລືອກ​ທີ່​ມີ​ຊື່​ ສະພາບແວດລ້ອມ (ໃຊ້ກັບຂະບວນການຍ່ອຍທັງໝົດ) ຫຼືພາຍໃນຂະບວນການຍ່ອຍ. [ໂຄງການ:x]
ສ່ວນ ສະພາບແວດລ້ອມ ທາງເລືອກ config (ໃຊ້ກັບຂະບວນການຍ່ອຍທີ່ລະບຸໄວ້ພາຍໃນ
[ໂຄງການ:x] ພາກ). ການຕັ້ງຄ່າ "ສະພາບແວດລ້ອມ" ເຫຼົ່ານີ້ແມ່ນເພີ່ມເຕີມ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ແຕ່ລະຄົນ
ສະພາບແວດລ້ອມຂອງຂະບວນການຍ່ອຍຈະປະກອບດ້ວຍ:
ຕົວ​ປ່ຽນ​ສະ​ພາບ​ແວດ​ລ້ອມ​ທີ່​ກໍາ​ນົດ​ໄວ້​ພາຍ​ໃນ​ແກະ​ໃຊ້​ເພື່ອ​ເລີ່ມ​ຕົ້ນ​ການ​ຄວບ​ຄຸມ ...

... added-to/overridden-by ...

... ໄດ້ ສະພາບແວດລ້ອມ ຕົວແປ ທີ່ກໍານົດໄວ້ ພາຍໃນ ໄດ້ ສະພາບແວດລ້ອມ ທົ່ວໂລກ
ທາງ​ເລືອກ config ...

... added-to/overridden-by ...

... ຜູ້ຄຸມງານສະເພາະ ສະພາບແວດລ້ອມ ຕົວແປ
(SUPERVISOR_ENABLED, SUPERVISOR_PROCESS_NAME, SUPERVISOR_GROUP_NAME)..

... added-to/overridden-by ...

... ໄດ້ ສະພາບແວດລ້ອມ ຕົວແປ ທີ່ກໍານົດໄວ້ ພາຍໃນ ໄດ້ ຕໍ່ຂະບວນການ
"ສະພາບແວດລ້ອມ" ທາງເລືອກການຕັ້ງຄ່າ.

ບໍ່ມີ shell ຖືກປະຕິບັດໂດຍ ຜູ້ຄຸມງານ ເມື່ອມັນແລ່ນຂະບວນການຍ່ອຍ, ດັ່ງນັ້ນຕົວແປສະພາບແວດລ້ອມ
ເຊັ່ນ​ວ່າ ຜູ້ໃຊ້, PATH, ຫນ້າທໍາອິດ, SHELL, LOGNAME, ແລະອື່ນໆແມ່ນບໍ່ມີການປ່ຽນແປງຈາກຄ່າເລີ່ມຕົ້ນຂອງເຂົາເຈົ້າຫຼື
ການມອບໝາຍຄືນໃໝ່. ນີ້ແມ່ນສິ່ງສໍາຄັນໂດຍສະເພາະທີ່ຈະສັງເກດໃນເວລາທີ່ທ່ານກໍາລັງແລ່ນ a
ໂຄງ​ການ​ຈາກ a ຜູ້ຄຸມງານ ດໍາເນີນການເປັນຮາກທີ່ມີ a user= stanza ໃນ​ການ​ຕັ້ງ​ຄ່າ​. ບໍ່​ມັກ
cron, ຜູ້ຄຸມງານ ບໍ່ໄດ້ພະຍາຍາມອັນສູງສົ່ງແລະ override "ພື້ນຖານ" ສະພາບແວດລ້ອມ
ຕົວແປເຊັ່ນ ຜູ້ໃຊ້, PATH, ຫນ້າທໍາອິດ, ແລະ LOGNAME ເມື່ອມັນປະຕິບັດ setuid ກັບຜູ້ໃຊ້ທີ່ກໍານົດ
ພາຍໃນ user= ທາງ​ເລືອກ​ການ​ຕັ້ງ​ຄ່າ​ໂຄງ​ການ​. ຖ້າທ່ານຕ້ອງການກໍານົດຕົວແປສະພາບແວດລ້ອມສໍາລັບ a
ໂຄງ​ການ​ສະ​ເພາະ​ທີ່​ບໍ່​ດັ່ງ​ນັ້ນ​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ໂດຍ​ການ​ຮຽກ​ຮ້ອງ​ໃຫ້ shell ສໍາ​ລັບ​ການ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​
ຜູ້​ໃຊ້​, ທ່ານ​ຈະ​ຕ້ອງ​ເຮັດ​ມັນ​ຢ່າງ​ຊັດ​ເຈນ​ພາຍ​ໃນ​ ສະພາບແວດລ້ອມ = ທາງ​ເລືອກ​ການ​ຕັ້ງ​ຄ່າ​ໂຄງ​ການ​. ຕົວຢ່າງ
ການຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມເຫຼົ່ານີ້ແມ່ນດັ່ງລຸ່ມນີ້.

[ໂຄງການ:apache2]
command=/home/chrism/bin/httpd -c "ErrorLog /dev/stdout" -DFOREGROUND
user=chrism
environment=HOME="/home/chrism", USER="chrism"

ຂະບວນການ ລັດຖະບານ
ຂະບວນການທີ່ຄວບຄຸມໂດຍຜູ້ຄຸມງານຈະຢູ່ໃນໜຶ່ງໃນລັດລຸ່ມນີ້ໃນທຸກເວລາ.
ທ່ານອາດຈະເຫັນຊື່ຂອງລັດເຫຼົ່ານີ້ຢູ່ໃນອົງປະກອບການໂຕ້ຕອບຜູ້ໃຊ້ຕ່າງໆໃນລູກຄ້າ.

STOPPED (0​)
ຂະບວນການດັ່ງກ່າວໄດ້ຖືກຢຸດເຊົາຍ້ອນການຮ້ອງຂໍຢຸດຫຼືບໍ່ເຄີຍໄດ້ຮັບການເລີ່ມຕົ້ນ.

ເລີ່ມຕົ້ນ (10​)
ຂະບວນການແມ່ນເລີ່ມຕົ້ນເນື່ອງຈາກການຮ້ອງຂໍເລີ່ມຕົ້ນ.

ແລ່ນ (20​)
ຂະບວນການແມ່ນແລ່ນ.

ກັບຄືນ (30​)
ຂະບວນການເຂົ້າໄປໃນ ເລີ່ມຕົ້ນ ສະຖານະແຕ່ຫຼັງຈາກນັ້ນໄດ້ອອກໄປໄວເກີນໄປທີ່ຈະຍ້າຍໄປ
ໄດ້ ແລ່ນ ລັດ.

ຢຸດເຊົາ (40​)
ຂະບວນການກໍາລັງຢຸດເນື່ອງຈາກການຮ້ອງຂໍຢຸດ.

ອອກແລ້ວ (100​)
ຂະບວນການດັ່ງກ່າວໄດ້ອອກຈາກ ແລ່ນ ລັດ (ຄາດ​ຫວັງ​ຫຼື​ບໍ່​ຄາດ​ຄິດ​)​.

ໄຂມັນ (200​)
ຂະບວນການດັ່ງກ່າວບໍ່ສາມາດເລີ່ມຕົ້ນໄດ້ຢ່າງສໍາເລັດຜົນ.

ບໍ່ຮູ້ (1000​)
ຂະບວນການແມ່ນຢູ່ໃນສະຖານະທີ່ບໍ່ຮູ້ຈັກ (ຜູ້ຄຸມງານ ການ​ຂຽນ​ໂປຣ​ແກຣມ​ຜິດ​ພາດ​)​.

ແຕ່ລະຂະບວນການທີ່ດໍາເນີນພາຍໃຕ້ຜູ້ຄຸມງານມີຄວາມຄືບຫນ້າໂດຍຜ່ານລັດເຫຼົ່ານີ້ຕາມຕໍ່ໄປນີ້
ເສັ້ນສະແດງເສັ້ນ.
[ຮູບພາບ: Subprocess State Transition Graph] [image] Subprocess State Transition
Graph.UNINDENT

ຂະບວນການແມ່ນຢູ່ໃນ STOPPED ລັດຖ້າຫາກວ່າມັນໄດ້ຖືກຢຸດເຊົາການບໍລິຫານຫຼືຖ້າຫາກວ່າມັນມີ
ບໍ່ເຄີຍເລີ່ມຕົ້ນ.

ເມື່ອຂະບວນການຣີສະຕາດອັດຕະໂນມັດແມ່ນຢູ່ໃນ ກັບຄືນ ລັດ, ມັນຈະເປັນອັດຕະໂນມັດ
restarted ໂດຍ ຜູ້ຄຸມງານ. ມັນຈະປ່ຽນລະຫວ່າງ ເລີ່ມຕົ້ນ ແລະ ກັບຄືນ ລັດຈົນກ່ວາມັນ
ກາຍເປັນຫຼັກຖານວ່າມັນບໍ່ສາມາດເລີ່ມຕົ້ນໄດ້ເພາະວ່າຈໍານວນຂອງ startretries ມີ
ເກີນສູງສຸດ, ໃນຈຸດທີ່ມັນຈະຫັນໄປສູ່ ໄຂມັນ ລັດ. ແຕ່ລະເລີ່ມຕົ້ນ
ພະຍາຍາມອີກຄັ້ງຈະໃຊ້ເວລາຫຼາຍເທື່ອ.

ໃນເວລາທີ່ຂະບວນການແມ່ນຢູ່ໃນ ອອກແລ້ວ ລັດ, ມັນຈະປິດເປີດອັດຕະໂນມັດ:

·ບໍ່ເຄີຍຖ້າຫາກວ່າມັນ ປິດເປີດອັດຕະໂນມັດ ພາລາມິເຕີຖືກຕັ້ງຄ່າໃຫ້ ທີ່ບໍ່ຖືກຕ້ອງ.

· ບໍ່ມີເງື່ອນໄຂຖ້າມັນ ປິດເປີດອັດຕະໂນມັດ ພາລາມິເຕີຖືກຕັ້ງຄ່າໃຫ້ ທີ່ແທ້ຈິງ.

·ເງື່ອນໄຂຖ້າຫາກວ່າມັນ ປິດເປີດອັດຕະໂນມັດ ພາລາມິເຕີຖືກຕັ້ງຄ່າໃຫ້ unexpected. ຖ້າ​ຫາກ​ວ່າ​ມັນ​ອອກ​ດ້ວຍ​
ລະຫັດອອກທີ່ບໍ່ກົງກັບໜຶ່ງໃນລະຫັດອອກທີ່ກຳນົດໄວ້ໃນ ລະຫັດອອກ
ພາລາມິເຕີການຕັ້ງຄ່າສໍາລັບຂະບວນການ, ມັນຈະຖືກເລີ່ມຕົ້ນໃຫມ່.

ຂະບວນການປ່ຽນໄປໂດຍອັດຕະໂນມັດຈາກ ອອກແລ້ວ to ແລ່ນ ເປັນຜົນມາຈາກການກໍາຫນົດຄ່າ
ເພື່ອເລີ່ມຕົ້ນໃຫມ່ອັດຕະໂນມັດຕາມເງື່ອນໄຂຫຼືບໍ່ມີເງື່ອນໄຂ. ຈໍານວນຂອງການຫັນປ່ຽນລະຫວ່າງ
ແລ່ນ ແລະ ອອກແລ້ວ ບໍ່ຈໍາກັດໃນທາງໃດກໍ່ຕາມ: ມັນເປັນໄປໄດ້ທີ່ຈະສ້າງການຕັ້ງຄ່າ
ທີ່ restarts ຂະບວນການອອກໃຫມ່ຢ່າງບໍ່ຢຸດຢັ້ງ. ນີ້ແມ່ນຄຸນສົມບັດ, ບໍ່ແມ່ນແມງໄມ້.

ຂະບວນການຣີສະຕາດອັດຕະໂນມັດຈະບໍ່ຖືກເປີດຄືນໃໝ່ໂດຍອັດຕະໂນມັດ ຖ້າມັນຈົບລົງໃນ ໄຂມັນ
ສະຖານະ (ມັນຕ້ອງໄດ້ຮັບການເລີ່ມຕົ້ນໃຫມ່ດ້ວຍຕົນເອງຈາກສະຖານະນີ້).

ຂະ​ບວນ​ການ​ຫັນ​ເປັນ​ ຢຸດເຊົາ ລັດຜ່ານຄໍາຮ້ອງຂໍຢຸດການບໍລິຫານ, ແລະຈະ
ຫຼັງຈາກນັ້ນ, ສິ້ນສຸດໃນ STOPPED ລັດ.

ຂະບວນການທີ່ບໍ່ສາມາດຢຸດເຊົາຢ່າງສໍາເລັດຜົນຈະຢູ່ໃນ ຢຸດເຊົາ ລັດຕະຫຼອດໄປ.
ສະຖານະການນີ້ບໍ່ຄວນບັນລຸໃນລະຫວ່າງການປະຕິບັດງານປົກກະຕິຍ້ອນວ່າມັນຫມາຍຄວາມວ່າ
ຂະ​ບວນ​ການ​ບໍ່​ໄດ້​ຕອບ​ສະ​ຫນອງ​ຂັ້ນ​ສຸດ​ທ້າຍ​ SIGKILL ສັນຍານຖືກສົ່ງໄປຫາມັນໂດຍຜູ້ຄຸມງານ, ເຊິ່ງແມ່ນ
"ເປັນໄປບໍ່ໄດ້" ພາຍໃຕ້ UNIX.

ການຫັນປ່ຽນຂອງລັດທີ່ຮຽກຮ້ອງໃຫ້ມີການກະ ທຳ ຂອງຜູ້ໃຊ້ສະ ເໝີ ເພື່ອຮຽກຮ້ອງແມ່ນເຫຼົ່ານີ້:

ໄຂມັນ -> ເລີ່ມຕົ້ນ

ແລ່ນ -> ຢຸດເຊົາ

ການຫັນປ່ຽນຂອງລັດທີ່ປົກກະຕິ, ແຕ່ບໍ່ແມ່ນສະເຫມີໄປ, ຮຽກຮ້ອງໃຫ້ມີການປະຕິບັດຂອງຜູ້ໃຊ້ເພື່ອຮຽກຮ້ອງແມ່ນ
ເຫຼົ່ານີ້, ມີຂໍ້ຍົກເວັ້ນທີ່ບັນທຶກໄວ້:

STOPPED -> ເລີ່ມຕົ້ນ (ຍົກ​ເວັ້ນ​ແຕ່​ໃນ​ການ​ເລີ່ມ​ຕົ້ນ​ການ​ຄວບ​ຄຸມ​ຖ້າ​ຫາກ​ວ່າ​ຂະ​ບວນ​ການ​ໄດ້​ຖືກ​ຕັ້ງ​ຄ່າ​ໃຫ້​ອັດ​ຕະ​ໂນ​ມັດ​)

ອອກແລ້ວ -> ເລີ່ມຕົ້ນ (ຍົກເວັ້ນຫາກຂະບວນການຖືກຕັ້ງຄ່າໃຫ້ປິດເປີດອັດຕະໂນມັດ)

ການຫັນປ່ຽນຂອງລັດອື່ນໆທັງໝົດແມ່ນຖືກຈັດການໂດຍຜູ້ເບິ່ງແຍງອັດຕະໂນມັດ.

ການຕັດໄມ້ທ່ອນ
ຫນຶ່ງໃນວຽກງານຕົ້ນຕໍທີ່ ຜູ້ຄຸມງານ ປະຕິບັດແມ່ນການຕັດໄມ້. ຜູ້ຄຸມງານ ບັນທຶກການເຄື່ອນໄຫວ
ບັນທຶກລາຍລະອຽດສິ່ງທີ່ມັນເຮັດໃນຂະນະທີ່ມັນແລ່ນ. ມັນຍັງບັນທຶກຂະບວນການເດັກ stdout ແລະ stderr
ສົ່ງອອກໄປຍັງໄຟລ໌ອື່ນໆຖ້າຫາກວ່າ configured ໃຫ້ເຮັດແນວນັ້ນ.

ກິດຈະກໍາ ຕົວເຊັນເຂົ້າ
ບັນທຶກກິດຈະກໍາແມ່ນບ່ອນທີ່ ຜູ້ຄຸມງານ ບັນທຶກຂໍ້ຄວາມກ່ຽວກັບສຸຂະພາບຂອງຕົນເອງ, ຂອງມັນ
subprocess' ການປ່ຽນແປງສະຖານະ, ຂໍ້ຄວາມໃດໆທີ່ເປັນຜົນມາຈາກເຫດການ, ແລະ debug ແລະ
ຂໍ້​ຄວາມ​ຂໍ້​ມູນ​ຂ່າວ​ສານ​. ເສັ້ນທາງໄປຫາບັນທຶກກິດຈະກໍາແມ່ນຖືກກໍານົດໂດຍຜ່ານ logfile
ຕົວກໍານົດການໃນ [ຜູ້ຄຸມງານ] ພາກສ່ວນຂອງໄຟລ໌ການຕັ້ງຄ່າ, ເລີ່ມຕົ້ນເປັນ
$CWD/supervisord.log. ຕົວຢ່າງການເຄື່ອນໄຫວບັນທຶກການຈະລາຈອນແມ່ນສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້. ບາງ
ສາຍໄດ້ຖືກແຍກເພື່ອໃຫ້ເຫມາະກັບຫນ້າຈໍທີ່ດີກວ່າ.

ຕົວຢ່າງ ກິດຈະກໍາ ຕົວເຊັນເຂົ້າ ຜົນຜະລິດ
2007-09-08 14:43:22,886 DEBG 127.0.0.1:Medusa (V1.11) ເລີ່ມຕົ້ນ Sat Sep 8 14:43:22 2007
ຊື່ເຈົ້າພາບ: kingfish
ພອດ: 9001
2007-09-08 14:43:22,961 ອັດ​ຕາ​ແລກ​ປ່ຽນ INFO RPC interface 'ຜູ້ຄຸມງານ' ເລີ່ມຕົ້ນ
2007-09-08 14:43:22,961 CRIT ແລ່ນໂດຍບໍ່ມີການກວດສອບ HTTP ໃດໆ.
2007-09-08 14:43:22,962 ຂໍ້ມູນຜູ້ເບິ່ງແຍງລະບົບເລີ່ມຕົ້ນດ້ວຍ pid 27347
2007-09-08 14:43:23,965 ຄ.ພ.
2007-09-08 14:43:23,970 ມ.
2007-09-08 14:43:23,990 ມ.
2007-09-08 14:43:24,059 DEBG 'listener_00' stderr ຜົນຜະລິດ:
/users/chrism/projects/supervisor/supervisor2/dev-sandbox/bin/python:
ບໍ່ສາມາດເປີດໄຟລ໌ '/Users/chrism/projects/supervisor/supervisor2/src/supervisor/scripts/osx_eventgen_listener.py':
[Errno 2] ບໍ່ມີໄຟລ໌ ຫຼືໄດເລກະທໍລີດັ່ງກ່າວ
2007-09-08 14:43:24,060 DEBG fd 7 ປິດ, ຢຸດການຕິດຕາມ
(stdout)>
2007-09-08 14:43:24,060 INFO ອອກຈາກ: listener_00 (ອອກຈາກສະຖານະ 2; ບໍ່ໄດ້ຄາດຫວັງ)
2007-09-08 14:43:24,061 DEBG ໄດ້ຮັບ SIGCHLD ຊີ້ບອກວ່າເດັກເຊົາ.

ບັນທຶກກິດຈະກໍາ "ລະດັບ" ຖືກຕັ້ງຄ່າໃນໄຟລ໌ config ຜ່ານ loglevel ພາລາມິເຕີໃນ
ໄດ້ [ຜູ້ຄຸມງານ] ສ່ວນໄຟລ໌ ini. ເມື່ອ​ໃດ​ loglevel ຖືກກໍານົດ, ຂໍ້ຄວາມທີ່ລະບຸໄວ້
ບູລິມະສິດ, ບວກກັບຜູ້ທີ່ມີບູລິມະສິດສູງກວ່ານັ້ນຖືກບັນທຶກເຂົ້າໃນບັນທຶກການເຄື່ອນໄຫວ. ສໍາລັບ
ຍົກຕົວຢ່າງ, if loglevel is ຄວາມຜິດພາດ, ຂໍ້ຄວາມຂອງ ຄວາມຜິດພາດ ແລະ ສໍາຄັນ ບູລິມະສິດຈະຖືກບັນທຶກ.
ຢ່າງໃດກໍຕາມ, ຖ້າ loglevel ແມ່ນ ເຕືອນ, ຂໍ້ຄວາມຂອງ ເຕືອນ, ຄວາມຜິດພາດ, ແລະ ສໍາຄັນ ຈະຖືກບັນທຶກ.

ກິດຈະກໍາ ຕົວເຊັນເຂົ້າ ລະດັບ
ຕາຕະລາງຂ້າງລຸ່ມນີ້ອະທິບາຍເຖິງລະດັບການບັນທຶກໃນລາຍລະອຽດເພີ່ມເຕີມ, ຈັດລໍາດັບຄວາມສໍາຄັນສູງສຸດ
ຕໍ່າສຸດ. "Config File Value" ແມ່ນສະຕຣິງທີ່ສະໜອງໃຫ້ loglevel ພາລາມິເຕີໃນ
ໄດ້ [ຜູ້ຄຸມງານ] ພາກສ່ວນຂອງໄຟລ໌ການຕັ້ງຄ່າແລະ "Output Code" ແມ່ນລະຫັດທີ່
ປາກົດຢູ່ໃນເສັ້ນຜົນຜະລິດບັນທຶກກິດຈະກໍາ.

┌─────────────────── ┬─────────────────────────── ───────────┐
│Config File Value │ Output Code │ Description │
├──────────────────────────────────────────── ────────────┤
│ສຳຄັນ │ CRIT │ ຂໍ້ຄວາມທີ່ຊີ້ບອກເຖິງ │
│ │ │ ເງື່ອນໄຂທີ່ຕ້ອງການ │
│ │ │ ຜູ້ໃຊ້ທັນທີ │
│ │ │ ເອົາ​ໃຈ​ໃສ່, ຜູ້​ດູ​ແລ │
│ │ │ ການປ່ຽນແປງລັດ, ຫຼື │
│ │ │ ຜິດພາດໃນຜູ້ຄຸມ │
│ │ │ ຕົວຂອງມັນເອງ. │
├──────────────────────────────────────────── ────────────┤
│ຂໍ້ຜິດພາດ │ ERRO │ ຂໍ້ຄວາມທີ່ຊີ້ບອກເຖິງ │
│ │ │ ອາດຈະລະເລີຍ │
│ │ │ ສະພາບຄວາມຜິດພາດ (ເຊັ່ນ: │
│ │ │ ບໍ່ສາມາດລ້າງບັນທຶກ │
│ │ │ ໄດເລກະທໍລີ). │
├──────────────────────────────────────────── ────────────┤
│ ເຕືອນ │ WARN │ ຂໍ້ຄວາມທີ່ຊີ້ບອກ │
│ │ │ ສະພາບຜິດປົກກະຕິ │
│ │ │ ເຊິ່ງບໍ່ແມ່ນຄວາມຜິດພາດ. │
├──────────────────────────────────────────── ────────────┤
│ຂໍ້ມູນ │ ຂໍ້ມູນ │ ຂໍ້ມູນປົກກະຕິ │
│ │ │ ຜົນຜະລິດ. ນີ້ແມ່ນ │
│ │ │ ລະດັບບັນທຶກເລີ່ມຕົ້ນຖ້າ │
│ │ │ ບໍ່ມີຢ່າງຈະແຈ້ງ │
│ │ │ ຕັ້ງຄ່າແລ້ວ. │
├──────────────────────────────────────────── ────────────┤
│debug │ DEBG │ ຂໍ້ຄວາມທີ່ເປັນປະໂຫຍດສໍາລັບ │
│ │ │ ຜູ້ໃຊ້ພະຍາຍາມດີບັກ │
│ │ │ ການຕັ້ງຄ່າຂະບວນການ │
│ │ │ ແລະ ການສື່ສານ │
│ │ │ ພຶດຕິກໍາ (ຂະບວນການ │
│ │ │ ຜົນຜະລິດ, ສະຖານະຜູ້ຟັງ │
│ │ │ ການປ່ຽນແປງ, ເຫດການ │
│ │ │ ການແຈ້ງເຕືອນ). │
├──────────────────────────────────────────── ────────────┤
│trace │ TRAC │ ຂໍ້ຄວາມທີ່ເປັນປະໂຫຍດສໍາລັບ │
│ │ │ ນັກພັດທະນາພະຍາຍາມ │
│ │ │ debug supervisor │
│ │ │ ປລັກອິນ, ແລະຂໍ້ມູນ │
│ │ │ ກ່ຽວກັບ HTTP ແລະ RPC │
│ │ │ ຄຳຮ້ອງຂໍ ແລະ ຄຳຕອບ. │
├──────────────────────────────────────────── ────────────┤
│blather │ BLAT │ ຂໍ້ຄວາມທີ່ເປັນປະໂຫຍດສໍາລັບ │
│ │ │ ນັກພັດທະນາພະຍາຍາມ │
│ │ │ ແກ້ບັນຫາຕົວຄວບຄຸມຕົວມັນເອງ. │
└───────────────────────────────────────────── ───────────┘

ກິດຈະກໍາ ຕົວເຊັນເຂົ້າ ການຫມຸນ
ບັນທຶກກິດຈະກໍາແມ່ນ "ຫມຸນ" ໂດຍ ຜູ້ຄຸມງານ ອີງໃສ່ການປະສົມປະສານຂອງ
logfile_maxbytes ແລະ logfile_backups ຕົວກໍານົດການໃນ [ຜູ້ຄຸມງານ] ພາກສ່ວນຂອງ
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​. ເມື່ອບັນທຶກການເຄື່ອນໄຫວໄປຮອດ logfile_maxbytes bytes, ບັນທຶກປັດຈຸບັນ
ໄຟລ໌ຖືກຍ້າຍໄປເປັນໄຟລ໌ສໍາຮອງແລະໄຟລ໌ບັນທຶກກິດຈະກໍາໃຫມ່ແມ່ນຖືກສ້າງຂຶ້ນ. ເມື່ອເຫດການນີ້ເກີດຂຶ້ນ,
ຖ້າຫາກວ່າຈໍານວນຂອງໄຟລ໌ສໍາຮອງຂໍ້ມູນທີ່ມີຢູ່ແລ້ວແມ່ນຫຼາຍກ່ວາຫຼືເທົ່າກັບ logfile_backups, ການ
ໄຟລ​໌​າ​ຮອງ​ທີ່​ເກົ່າ​ແກ່​ທີ່​ສຸດ​ແມ່ນ​ເອົາ​ອອກ​ແລະ​ໄຟລ​໌​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ໄດ້​ຖືກ​ປ່ຽນ​ຊື່​ຕາມ​ຄວາມ​ເຫມາະ​ສົມ​. ຖ້າໄຟລ໌
ຖືກຂຽນເປັນຊື່ supervisord.log, ເມື່ອມັນເກີນ logfile_maxbytes, ມັນຖືກປິດ
ແລະປ່ຽນຊື່ເປັນ supervisord.log.1, ແລະຖ້າໄຟລ໌ supervisord.log.1, supervisord.log.2 ແລະອື່ນໆ
ມີຢູ່, ຫຼັງຈາກນັ້ນເຂົາເຈົ້າໄດ້ຖືກປ່ຽນຊື່ເປັນ supervisord.log.2, supervisord.log.3 ແລະອື່ນໆ ຕາມລໍາດັບ.
If logfile_maxbytes ແມ່ນ 0, logfile ແມ່ນບໍ່ເຄີຍ rotated (ແລະດັ່ງນັ້ນຈຶ່ງ backups ບໍ່ເຄີຍເຮັດ).
If logfile_backups ແມ່ນ 0, ບໍ່ມີການສໍາຮອງຂໍ້ມູນຈະຖືກເກັບໄວ້.

ເດັກ ຂະບວນການ ຂໍ້​ມູນ​ບັນ​ທຶກ
ຄວາມແຂງກະດ້າງຂອງຂະບວນການເດັກນ້ອຍທີ່ເກີດໂດຍຜູ້ຄຸມງານ, ໂດຍຄ່າເລີ່ມຕົ້ນ, ຈະຖືກບັນທຶກໄວ້ເພື່ອສະແດງຄືນໃໝ່
ກັບຜູ້ໃຊ້ຂອງ supervisorctl ແລະລູກຄ້າອື່ນໆ. ຖ້າບໍ່ມີການຕັ້ງຄ່າສະເພາະທີ່ກ່ຽວຂ້ອງກັບ logfile
ແມ່ນປະຕິບັດໃນ a [ໂຄງການ:x], [fcgi-ໂຄງການ:x], ຫຼື [ຜູ້ຟັງເຫດການ:x] ສ່ວນໃນ
ໄຟລ໌ການຕັ້ງຄ່າ, ຕໍ່ໄປນີ້ແມ່ນຄວາມຈິງ:

· ຜູ້ຄຸມງານ ຈະ​ເກັບ​ກໍາ​ຜົນ​ຜະ​ລິດ stdout ຂອງ​ຂະ​ບວນ​ການ​ເດັກ​ນ້ອຍ​ແລະ stderr ເປັນ​ຊົ່ວ​ຄາວ​
ໄຟລ໌. ແຕ່ລະສະຕຣີມຖືກບັນທຶກໃສ່ໄຟລ໌ແຍກຕ່າງຫາກ. ອັນນີ້ເອີ້ນວ່າ AUTO ໂຫມດບັນທຶກ.

· AUTO ໄຟລ໌ບັນທຶກຖືກຕັ້ງຊື່ໂດຍອັດຕະໂນມັດແລະວາງໄວ້ໃນໄດເລກະທໍລີທີ່ຖືກຕັ້ງຄ່າເປັນ
Childlogdir ຂອງ [ຜູ້ຄຸມງານ] ພາກສ່ວນຂອງໄຟລ໌ config.

·ຂະຫນາດຂອງແຕ່ລະຄົນ AUTO ໄຟລ໌ບັນທຶກຖືກຜູກມັດດ້ວຍ {streamname}_logfile_maxbytes ມູນຄ່າຂອງ
ພາກສ່ວນໂຄງການ (ບ່ອນທີ່ {streamname} ແມ່ນ "stdout" ຫຼື "stderr"). ເມື່ອມັນໄປຮອດນັ້ນ
ຈໍາ​ນວນ​, ມັນ​ແມ່ນ rotated (ເຊັ່ນ​: ບັນ​ທຶກ​ກິດ​ຈະ​ກໍາ​)​, ອີງ​ໃສ່​ການ​
{streamname}_logfile_backups.

ກະແຈການຕັ້ງຄ່າທີ່ມີອິດທິພົນຕໍ່ການເຂົ້າສູ່ລະບົບຂອງເດັກນ້ອຍ [ໂຄງການ:x] ແລະ
[fcgi-ໂຄງການ:x] ພາກ​ສ່ວນ​ແມ່ນ​ດັ່ງ​ນີ້​:

redirect_stderr, stdout_logfile, stdout_logfile_maxbytes, stdout_logfile_backups,
stdout_capture_maxbytes, stderr_logfile, stderr_logfile_maxbytes, stderr_logfile_backups
ແລະ stderr_capture_maxbytes.

ຫນຶ່ງອາດຈະກໍານົດ stdout_logfile or stderr_logfile ກັບສາຍພິເສດ "syslog". ໃນ​ກໍ​ລະ​ນີ​ນີ້,
ບັນທຶກຈະຖືກສົ່ງໄປຫາບໍລິການ syslog ແທນທີ່ຈະຖືກບັນທຶກໄວ້ໃນໄຟລ໌.

[ຜູ້ຟັງເຫດການ:x] ພາກສ່ວນອາດຈະບໍ່ລະບຸ redirect_stderr, stdout_capture_maxbytes, ຫຼື
stderr_capture_maxbytes, ແຕ່ຖ້າບໍ່ດັ່ງນັ້ນພວກເຂົາຍອມຮັບຄ່າດຽວກັນ.

ກະແຈການຕັ້ງຄ່າທີ່ມີອິດທິພົນຕໍ່ການເຂົ້າສູ່ລະບົບຂອງເດັກນ້ອຍໃນຂະບວນການ [ຜູ້ຄຸມງານ] config
ສ່ວນ​ໄຟລ​໌​ແມ່ນ​ດັ່ງ​ນີ້​: Childlogdir, ແລະ ລ້າງອະນາໄມ.

capture ຮູບແບບການ
ໂໝດຈັບພາບແມ່ນຄຸນສົມບັດຂັ້ນສູງຂອງ Supervisor. ເຈົ້າບໍ່ ຈຳ ເປັນຕ້ອງເຂົ້າໃຈຮູບແບບການຖ່າຍຮູບ
ເວັ້ນເສຍແຕ່ວ່າທ່ານຕ້ອງການດໍາເນີນການໂດຍອີງໃສ່ຂໍ້ມູນທີ່ແຍກອອກຈາກຜົນໄດ້ຮັບຂອງຂະບວນການຍ່ອຍ.

ຖ້າຫາກວ່າເປັນ [ໂຄງການ:x] ພາກສ່ວນໃນໄຟລ໌ການຕັ້ງຄ່າກຳນົດຄ່າທີ່ບໍ່ແມ່ນສູນ
stdout_capture_maxbytes or stderr_capture_maxbytes ພາລາມິເຕີ, ແຕ່ລະຂະບວນການເປັນຕົວແທນໂດຍ
ພາກສ່ວນໂຄງການອາດຈະປ່ອຍ tokens ພິເສດຢູ່ໃນ stdout ຫຼື stderr stream ຂອງມັນ (ຕາມລໍາດັບ)
ທີ່​ຈະ​ເຮັດ​ໃຫ້​ມີ​ປະ​ສິດ​ທິ​ຜົນ​ທີ່​ຈະ​ເຮັດ​ໃຫ້​ຜູ້​ດູ​ແລ​ທີ່​ຈະ​ປ່ອຍ​ອອກ​ມາ​ເປັນ PROCESS_COMMUNICATION ເຫດການ (ເບິ່ງເຫດການ
ສໍາລັບລາຍລະອຽດຂອງເຫດການ).

ໂປຣໂຕຄໍການສື່ສານຂອງຂະບວນການແມ່ນຂຶ້ນກັບສອງແທັກ, ອັນທີ່ສັ່ງໃຫ້ຜູ້ຄຸມງານ
ເຂົ້າໄປໃນ "ຮູບແບບການຈັບພາບ" ສໍາລັບກະແສແລະອັນທີ່ສັ່ງໃຫ້ອອກ. ເມື່ອຂະບວນການ
stream ເຂົ້າໄປໃນ "capture mode", ຂໍ້ມູນທີ່ສົ່ງກັບ stream ຈະຖືກສົ່ງໄປຫາ buffer ແຍກຕ່າງຫາກໃນ
ຫນ່ວຍຄວາມຈໍາ, "capture buffer", ເຊິ່ງອະນຸຍາດໃຫ້ບັນຈຸສູງສຸດຂອງ capture_maxbytes
ໄບຕ໌. ໃນ​ລະ​ຫວ່າງ​ຮູບ​ແບບ​ການ​ຈັບ​ພາບ​, ໃນ​ເວ​ລາ​ທີ່​ຄວາມ​ຍາວ​ຂອງ​ບັນ​ເຟີ​ເກີນ​ capture_maxbytes bytes, ໄດ້
ຂໍ້ມູນຕົ້ນໆໃນ buffer ແມ່ນຖືກຍົກເລີກເພື່ອສ້າງພື້ນທີ່ສໍາລັບຂໍ້ມູນໃຫມ່. ເມື່ອກະແສຂະບວນການ
ອອກຈາກໂໝດຈັບພາບ, ກ PROCESS_COMMUNICATION ປະເພດຍ່ອຍຂອງເຫດການແມ່ນປ່ອຍອອກມາໂດຍຜູ້ຄຸມງານ, ເຊິ່ງ
ອາດຈະຖືກຂັດຂວາງໂດຍຜູ້ຟັງເຫດການ.

ໂຄດຄໍາສັ່ງທີ່ຈະເລີ່ມຕົ້ນ "ຮູບແບບການຈັບພາບ" ໃນການຖ່າຍທອດຂະບວນການແມ່ນ . ໂຄດຄໍາສັ່ງ
ເພື່ອອອກຈາກຮູບແບບການຈັບພາບແມ່ນ . ຂໍ້ມູນລະຫວ່າງແທັກເຫຼົ່ານີ້ອາດຈະເປັນ
arbitrary, ແລະປະກອບເປັນ payload ຂອງ PROCESS_COMMUNICATION ເຫດການ. ຕົວຢ່າງ, ຖ້າ ກ
ໂຄງ​ການ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ດ້ວຍ a stdout_capture_maxbytes ຂອງ "1MB", ແລະມັນ emits ດັ່ງຕໍ່ໄປນີ້ກ່ຽວກັບ
ກະແສ stdout ຂອງມັນ:

ສະບາຍດີ!

ໃນກໍລະນີດັ່ງກ່າວນີ້, ຜູ້ຄຸມງານ ຈະ emit ເປັນ PROCESS_COMMUNICATIONS_STDOUT ເຫດການກັບ
ຂໍ້ມູນໃນ payload ຂອງ "ສະບາຍດີ!".

ຕົວຢ່າງຂອງ script (ຂຽນໃນ Python) ທີ່ປ່ອຍເຫດການການສື່ສານຂະບວນການແມ່ນຢູ່ໃນ
ໄດ້ scripts ບັນຊີລາຍການຂອງຊຸດຜູ້ຄຸມງານ, ຊື່ sample_commevent.py.

ຜົນໄດ້ຮັບຂອງຂະບວນການທີ່ລະບຸໄວ້ເປັນ "ຜູ້ຟັງເຫດການ" ([ຜູ້ຟັງເຫດການ:x] sections) ບໍ່ແມ່ນ
ປຸງແຕ່ງດ້ວຍວິທີນີ້. ຜົນຜະລິດຈາກຂະບວນການເຫຼົ່ານີ້ບໍ່ສາມາດເຂົ້າໄປໃນຮູບແບບການຈັບພາບໄດ້.

ການຂະຫຍາຍ ຜູ້ຄຸມງານ XML-RPC API
ຜູ້ຄຸມງານສາມາດຂະຫຍາຍໄດ້ດ້ວຍ XML-RPC APIs ໃໝ່. ປລັກອິນພາກສ່ວນທີສາມຫຼາຍອັນແລ້ວ
ມີຢູ່ທີ່ສາມາດສາຍເຂົ້າໄປໃນການຕັ້ງຄ່າ Supervisor ຂອງທ່ານ. ນອກຈາກນັ້ນ, ທ່ານອາດຈະຂຽນ
ຂອງ​ເຈົ້າ​ເອງ. Extensible XML-RPC ການໂຕ້ຕອບແມ່ນຄຸນນະສົມບັດແບບພິເສດ, ນໍາສະເຫນີໃນສະບັບ
3.0. ທ່ານບໍ່ຈໍາເປັນຕ້ອງເຂົ້າໃຈມັນເວັ້ນເສຍແຕ່ວ່າທ່ານຕ້ອງການໃຊ້ RPC ພາກສ່ວນທີສາມທີ່ມີຢູ່ແລ້ວ
plugin interface ຫຼືຖ້າທ່ານຕ້ອງການຂຽນ plugin interface RPC ຂອງທ່ານເອງ.

ການກໍາຫນົດຄ່າ XML-RPC ການໂຕ້ຕອບ ໂຮງງານຜະລິດ
ການໂຕ້ຕອບ RPC ເພີ່ມເຕີມແມ່ນຖືກຕັ້ງຄ່າເຂົ້າໃນການຕິດຕັ້ງຜູ້ເບິ່ງແຍງໂດຍການເພີ່ມ a
[rpcinterface:x] ພາກສ່ວນໃນໄຟລ໌ການຕັ້ງຄ່າ Supervisor.

ໃນໄຟລ໌ config ຕົວຢ່າງ, ມີສ່ວນຫນຶ່ງທີ່ມີຊື່ [rpcinterface: supervisor].
ໂດຍຄ່າເລີ່ມຕົ້ນມັນເບິ່ງຄືວ່າ:

[rpcinterface: supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

ພາກນີ້ ຕ້ອງ ຍັງຄົງຢູ່ໃນການຕັ້ງຄ່າສໍາລັບການຕັ້ງຄ່າມາດຕະຖານຂອງຜູ້ເບິ່ງແຍງເພື່ອເຮັດວຽກ
ຢ່າງຖືກຕ້ອງ. ຖ້າເຈົ້າບໍ່ຕ້ອງການໃຫ້ຜູ້ຄຸມງານເຮັດຫຍັງ ມັນກໍບໍ່ໄດ້ເຮັດແລ້ວ
ກ່ອງ, ນີ້ແມ່ນທັງຫມົດທີ່ທ່ານຈໍາເປັນຕ້ອງຮູ້ກ່ຽວກັບປະເພດຂອງພາກນີ້.

ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານຕ້ອງການເພີ່ມ XML-RPC interface namespaces ເພີ່ມເຕີມຕໍ່ກັບການຕັ້ງຄ່າຂອງ
ຜູ້ຄຸມງານ, ເຈົ້າອາດຈະເພີ່ມຕື່ມ [rpcinterface:foo] ພາກສ່ວນ, ບ່ອນທີ່ "foo" ເປັນຕົວແທນຂອງ
namespace ຂອງການໂຕ້ຕອບ (ຈາກຮາກເວັບໄຊຕ໌), ແລະຄ່າທີ່ມີຊື່ໂດຍ
supervisor.rpcinterface_factory ແມ່ນໂຮງງານທີ່ເອີ້ນວ່າ Python ທີ່ຄວນຈະມີ
ລາຍເຊັນຂອງຟັງຊັນທີ່ຍອມຮັບການໂຕ້ຖຽງຕໍາແຫນ່ງດຽວ ຜູ້ຄຸມງານ ແລະເປັນຈໍານວນຫຼາຍ
ການໂຕ້ຖຽງຄໍາຫລັກຕາມຄວາມຕ້ອງການເພື່ອປະຕິບັດການຕັ້ງຄ່າ. ຄູ່ຄີ/ຄ່າທີ່ກຳນົດໄວ້
ພາຍໃນ rpcinterface:foo ພາກສ່ວນຈະຖືກສົ່ງຜ່ານເປັນການໂຕ້ຖຽງຄໍາຫລັກໄປຫາໂຮງງານ.
ນີ້ແມ່ນຕົວຢ່າງຂອງຫນ້າທີ່ໂຮງງານຜະລິດ, ສ້າງຢູ່ໃນຊຸດ my.package.

def make_another_rpcinterface(supervisord, **config):
retries = int(config.get('retries', 0))
another_rpc_interface = ໂຕອື່ນ RPCInterface(ຜູ້ເບິ່ງແຍງ, ລອງໃໝ່)
ກັບຄືນ another_rpc_interface

ແລະພາກສ່ວນໃນໄຟລ໌ config ຫມາຍຄວາມວ່າຈະ configure ມັນ.

[rpcinterface: ອື່ນ]
supervisor.rpcinterface_factory = my.package:make_another_rpcinterface
ລອງໃຫມ່ = 1

ຄໍາແປສັບ
daemontools
A ຂະບວນການ ການຄວບຄຸມ ລະບົບ by DJ ອໍາພັນ.

ເປີດຕົວ
A ຂະບວນການ ການຄວບຄຸມ ລະບົບ ໃຫມ່ by ຈາກຫນາກແອບເປີ ເປັນຂະບວນການ 1 ພາຍໃຕ້ Mac OS X.

ແລ່ນ A ຂະບວນການ ການຄວບຄຸມ ລະບົບ.

ສຸດຍອດ
ຊຸດທີ່ສະຫນອງການປະຕິບັດການຟັງເຫດການຕ່າງໆທີ່ສຽບເຂົ້າໄປໃນ
Supervisor ທີ່ສາມາດຊ່ວຍຕິດຕາມກວດກາການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂະບວນການແລະສະຖານະການຂັດຂ້ອງ:
http://pypi.python.org/pypi/superlance.

ໜ້າ ກາກ ຕົວຫຍໍ້ຂອງ ຜູ້ໃຊ້ ຫນ້າກາກ: ກໍານົດຫນ້າກາກການສ້າງຮູບແບບໄຟລ໌ຂອງຂະບວນການປະຈຸບັນ.
ເບິ່ງ http://en.wikipedia.org/wiki/Umask.

API ເອກະສານອ້າງອີງ


XML-RPC API ເອ​ກະ​ສານ
ເພື່ອໃຊ້ອິນເຕີເຟດ XML-RPC, ເຊື່ອມຕໍ່ຫາພອດ HTTP ຂອງຜູ້ຄຸມງານກັບລູກຂ່າຍ XML-RPC ໃດກໍໄດ້
ຫ້ອງສະຫມຸດແລະດໍາເນີນການຄໍາສັ່ງຕໍ່ກັບມັນ. ຕົວຢ່າງຂອງການເຮັດສິ່ງນີ້ໂດຍໃຊ້ Python's xmlrpcib
ຫ້ອງສະຫມຸດລູກຄ້າມີດັ່ງນີ້.

ນໍາເຂົ້າ xmlrpcib
server = xmlrpclib.Server('http://localhost:9001/RPC2')

ທ່ານອາດຈະໂທຫາວິທີການຕໍ່ຕ້ານ ຜູ້ຄຸມງານ ແລະຂະບວນການຍ່ອຍຂອງມັນໂດຍໃຊ້ supervisor
namespace. ຕົວຢ່າງແມ່ນສະຫນອງໃຫ້ຂ້າງລຸ່ມນີ້.

server.supervisor.getState()

ທ່ານສາມາດໄດ້ຮັບບັນຊີລາຍຊື່ຂອງວິທີການສະຫນັບສະຫນູນໂດຍ ຜູ້ຄຸມງານ ການໂຕ້ຕອບ XML-RPC ໂດຍໃຊ້
XML-RPC system.list ວິທີການ APIs:

server.system.listMethods()

ທ່ານ​ສາ​ມາດ​ເບິ່ງ​ການ​ຊ່ວຍ​ເຫຼືອ​ກ່ຽວ​ກັບ​ວິ​ທີ​ການ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ system.method ຊ່ວຍ API ຕໍ່ກັບວິທີການ:

server.system.methodHelp('supervisor.shutdown')

ໄດ້ ຜູ້ຄຸມງານ ການໂຕ້ຕອບ XML-RPC ຍັງສະຫນັບສະຫນູນ XML-RPC ການໂທຫຼາຍຄັ້ງ API.

ທ່ານສາມາດຂະຫຍາຍໄດ້ ຜູ້ຄຸມງານ ການທໍາງານດ້ວຍວິທີການ API XML-RPC ໃຫມ່ໂດຍການເພີ່ມໃຫມ່
ການໂຕ້ຕອບ RPC ລະດັບສູງສຸດຕາມຄວາມຈໍາເປັນ. ເບິ່ງ rpcinterface_factories.

ຫມາຍ​ເຫດ​:
ການໂທດ້ວຍວິທີການ XML-RPC ອາດຈະສົ່ງຜົນໃຫ້ເກີດການຕອບໂຕ້ຜິດ. ນີ້ປະກອບມີຄວາມຜິດພາດທີ່ເກີດຈາກ
ລູກຄ້າເຊັ່ນການໂຕ້ຖຽງທີ່ບໍ່ດີ, ແລະຄວາມຜິດພາດໃດໆທີ່ເຮັດໃຫ້ ຜູ້ຄຸມງານ ບໍ່​ສາ​ມາດ
ປະຕິບັດຄໍາຮ້ອງຂໍ. ຫຼາຍໂຄງການລູກຄ້າ XML-RPC ຈະຍົກຂໍ້ຍົກເວັ້ນເມື່ອມີຄວາມຜິດ
ການຕອບສະຫນອງແມ່ນພົບ.

ສະຖານະພາບ ແລະ ການຄວບຄຸມ
ລະດັບ supervisor.rpcinterface.SupervisorNamespaceRPCIInterface(ຜູ້ຄຸມງານ)

getAPIVersion()
ສົ່ງຄືນເວີຊັນຂອງ RPC API ທີ່ໃຊ້ໂດຍຜູ້ເບິ່ງແຍງກວດກາ

@return string version id

API ນີ້ແມ່ນສະບັບແຍກຈາກ Supervisor ເອງ. ສະບັບ API
ກັບຄືນໂດຍ getAPIVersion ພຽງແຕ່ປ່ຽນແປງເມື່ອ API ປ່ຽນແປງ. ຈຸດປະສົງຂອງມັນ
ແມ່ນເພື່ອຊ່ວຍໃຫ້ລູກຄ້າລະບຸໄດ້ວ່າສະບັບໃດຂອງ Supervisor API
ມັນ​ເປັນ​ການ​ສື່​ສານ​.

ໃນເວລາທີ່ຂຽນຊອບແວທີ່ຕິດຕໍ່ສື່ສານກັບ API ນີ້, ມັນແມ່ນສູງ
ແນະນໍາໃຫ້ທ່ານທົດສອບສະບັບ API ສໍາລັບຄວາມເຂົ້າກັນໄດ້ກ່ອນ
ໂທ​ຫາ​ວິ​ທີ​ການ​.

ຫມາຍ​ເຫດ​:
ໄດ້ getAPIVersion ວິທີການທົດແທນ getVersion ພົບເຫັນຢູ່ໃນ Supervisor
ຮຸ່ນກ່ອນ 3.0a1. ມັນແມ່ນນາມແຝງສໍາລັບຄວາມເຂົ້າກັນໄດ້ແຕ່
getVersion() ຖືກຄັດຄ້ານ ແລະການສະຫນັບສະຫນູນຈະຖືກຍົກເລີກຈາກ
ຜູ້ຄຸມງານໃນສະບັບໃນອະນາຄົດ.

getSupervisorVersion()
ສົ່ງຄືນເວີຊັນຂອງແພັກເກັດຜູ້ຄຸມງານທີ່ໃຊ້ຢູ່ໂດຍຜູ້ຄຸມງານ

@return string version id

getIdentification()
ກັບ​ຄືນ​ໄປ​ບ່ອນ​ການ​ລະ​ບຸ​ສາຍ​ຂອງ​ຜູ້​ຄວບ​ຄຸມ​

@return string identifier ການລະບຸສະຕຣິງ

ວິທີການນີ້ເຮັດໃຫ້ລູກຄ້າສາມາດລະບຸໄດ້ວ່າຕົວຢ່າງ Supervisor ໃດ
ມັນແມ່ນການສື່ສານໃນກໍລະນີຂອງສະພາບແວດລ້ອມທີ່ຫຼາກຫຼາຍ
ຜູ້ຄຸມງານອາດຈະແລ່ນຢູ່.

ການລະບຸຕົວຕົນແມ່ນສະຕຣິງທີ່ຕ້ອງຖືກກໍານົດໄວ້ໃນ Supervisor's
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​. ວິທີການນີ້ພຽງແຕ່ສົ່ງຄືນມູນຄ່ານັ້ນກັບຄືນໄປບ່ອນ
ລູກຄ້າ.

getState()
ກັບຄືນສະຖານະປັດຈຸບັນຂອງຜູ້ຄວບຄຸມເປັນໂຄງສ້າງ

@return struct A struct ທີ່ມີກະແຈ int statecode, string statename

ນີ້ແມ່ນມູນຄ່າພາຍໃນທີ່ຮັກສາໄວ້ໂດຍ Supervisor ທີ່ກໍານົດສິ່ງທີ່
ຜູ້ຄຸມງານເຊື່ອວ່າເປັນສະຖານະການປະຕິບັດການຂອງຕົນໃນປະຈຸບັນ.

ການໂທບາງວິທີສາມາດປ່ຽນແປງສະຖານະປັດຈຸບັນຂອງຜູ້ຄຸມໄດ້. ສໍາລັບ
ຕົວຢ່າງ, ໂທຫາວິທີການ supervisor.shutdown() ໃນຂະນະທີ່ສະຖານີຢູ່ໃນ
ລັດ RUNNING ວາງຜູ້ຄຸມງານຢູ່ໃນລັດ SHUTDOWN ໃນຂະນະທີ່ມັນຢູ່
ປິດລົງ.

ວິທີການ supervisor.getState() ສະຫນອງວິທີການສໍາລັບລູກຄ້າໃນການກວດສອບ
ລັດຂອງຜູ້ຄຸມງານ, ທັງສໍາລັບຈຸດປະສົງຂໍ້ມູນຂ່າວສານແລະເພື່ອຮັບປະກັນວ່າ
ວິທີການທີ່ມັນຕັ້ງໃຈຈະໂທຫາຈະໄດ້ຮັບການອະນຸຍາດ.

ຄ່າກັບຄືນແມ່ນໂຄງສ້າງ:

{'ລະຫັດລັດ': 1,
'ຊື່ລັດ': 'ແລ່ນ'}

ຄ່າຜົນຕອບແທນທີ່ເປັນໄປໄດ້ແມ່ນ:

┌────────────┬──────────────────────────────── ─┐
│statecode │ statename │ Description │
├─────────────────────────────────────────── ─┤
│2 │ FATAL │ Supervisor ມີ │
│ │ │ ປະສົບກັບຄວາມຮ້າຍແຮງ│
│ │ │ ຜິດພາດ. │
├─────────────────────────────────────────── ─┤
│1 │ ແລ່ນ │ ຜູ້ຄຸມກຳລັງເຮັດວຽກ │
│ │ │ ປົກກະຕິ. │
├─────────────────────────────────────────── ─┤
│0 │ REstarting │ Supervisor ຢູ່ໃນ │
│ │ │ ຂະບວນການຣີສະຕາດ. │
├─────────────────────────────────────────── ─┤
│-1 │ SHUTDOWN │ Supervisor ຢູ່ໃນ │
│ │ │ ຂະບວນການປິດ │
│ │ │ ລົງ. │
└─────────────────────────────────────────── ─┘

ໄດ້ ໄຂມັນ ລັດລາຍງານຄວາມຜິດພາດທີ່ບໍ່ສາມາດກູ້ຄືນໄດ້, ເຊັ່ນ: ຂໍ້ຜິດພາດພາຍໃນ
ພາຍ​ໃນ​ສະ​ພາບ​ການ​ຂອງ​ຜູ້​ຄວບ​ຄຸມ​ຫຼື​ລະ​ບົບ​. ເມື່ອຕັ້ງເປັນ ໄຂມັນ, ການ
ຜູ້ຄຸມງານບໍ່ສາມາດກັບຄືນສູ່ສະຖານະອື່ນໄດ້ໂດຍບໍ່ມີການເລີ່ມຕົ້ນໃຫມ່.

ໃນ ໄຂມັນ ລັດ, ວິທີການໃນອະນາຄົດທັງຫມົດຍົກເວັ້ນ supervisor.shutdown() ແລະ
supervisor.restart() ອັດຕະໂນມັດຈະລົ້ມເຫລວໂດຍບໍ່ມີການຖືກເອີ້ນແລະ
ຄວາມຜິດ FATAL_STATE ຈະຖືກຍົກຂຶ້ນມາ.

ໃນ ປິດ​ເຄື່ອງ or ກຳລັງເລີ່ມໃໝ່ ລັດ, ການໂທວິທີການທັງຫມົດແມ່ນຖືກລະເລີຍແລະ
ຄ່າກັບຄືນທີ່ເປັນໄປໄດ້ຂອງພວກເຂົາແມ່ນບໍ່ໄດ້ກໍານົດ.

getPID()
ສົ່ງຄືນ PID ຂອງຜູ້ເບິ່ງແຍງ

@return int PID

readLog(ຊົດເຊີຍ, ຄວາມຍາວ)
ອ່ານໄບຕ໌ຄວາມຍາວຈາກບັນທຶກຫຼັກເລີ່ມຕົ້ນທີ່ການຊົດເຊີຍ

@param int offset ຊົດເຊີຍເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ. @param int
ຄວາມຍາວຂອງໄບຕ໌ທີ່ຈະອ່ານຈາກບັນທຶກ. @return string
ຜົນໄດ້ຮັບ Bytes ຂອງບັນທຶກ

ມັນສາມາດສົ່ງຄືນບັນທຶກທັງໝົດ, ຕົວອັກສອນຈຳນວນໜຶ່ງຈາກຫາງ
ຂອງໄມ້ທ່ອນ, ຫຼືບາງສ່ວນຂອງໄມ້ທ່ອນທີ່ລະບຸໂດຍການຊົດເຊີຍ ແລະຄວາມຍາວ
ພາລາມິເຕີ:

┌─────────────────────────────────────────────── ──────┐
│ ຊົດເຊີຍ │ ຄວາມຍາວ │ ພຶດຕິກຳຂອງ │
│ │ │ readProcessLog
├──────────────────────────────────────────── ──────┤
│ Negative │ Not Zero │ arguments ບໍ່ດີ. ນີ້ຈະ│
│ │ │ ຍົກຄວາມຜິດ │
│ │ │ BAD_ARGUMENTS. │
└────────────────────────────────────────────── ──────┘

│ລົບ │ Zero │ ອັນນີ້ຈະສົ່ງຄືນຄ່າ │
│ │ │ ຫາງຂອງໄມ້ທ່ອນ, ຫຼື │
│ │ │ ຈຳນວນຊົດເຊີຍຂອງ │
│ │ │ ຕົວອັກສອນຈາກທ້າຍ │
│ │ │ ຂອງບັນທຶກ. ສໍາລັບ │
│ │ │ ຕົວຢ່າງ, ຖ້າ ຊົດເຊີຍ = −4 │
│ │ │ ແລະ ຄວາມຍາວ = 0, ຈາກນັ້ນ │
│ │ │ ສີ່ຕົວສຸດທ້າຍ │
│ │ │ ຈະຖືກສົ່ງຄືນຈາກ │
│ │ │ ທ້າຍຂອງບັນທຶກ. │
├──────────────────────────────────────────── ──────┤
│ສູນ ຫຼື ບວກ │ ລົບ │ ການໂຕ້ຖຽງທີ່ບໍ່ດີ. ນີ້ຈະ│
│ │ │ ຍົກຄວາມຜິດ │
│ │ │ BAD_ARGUMENTS. │
├──────────────────────────────────────────── ──────┤
│ສູນ ຫຼື ບວກ │ ສູນ │ ຕົວອັກສອນທັງໝົດຈະເປັນ │
│ │ │ ກັບມາຈາກ ຊົດເຊີຍ
│ │ │ ລະບຸ. │
├──────────────────────────────────────────── ──────┤
│ສູນ ຫຼື ບວກ │ ບວກ │ ຕົວອັກສອນຈຳນວນໜຶ່ງ│
│ │ │ ຄວາມຍາວຈະຖືກສົ່ງກັບ │
│ │ │ ຈາກ ຊົດເຊີຍ. │
└────────────────────────────────────────────── ──────┘

ຖ້າບັນທຶກແມ່ນຫວ່າງເປົ່າແລະບັນທຶກທັງຫມົດຖືກຮ້ອງຂໍ, string ຫວ່າງເປົ່າແມ່ນ
ກັບຄືນມາ.

ຖ້າ​ຫາກ​ວ່າ​ການ​ຊົດ​ເຊີຍ​ຫຼື​ຄວາມ​ຍາວ​ຢູ່​ນອກ​ລະ​ດັບ​, ຄວາມ​ຜິດ​ພາດ​ BAD_ARGUMENTS ຈະ
ໄດ້ຮັບການກັບຄືນ.

ຖ້າບັນທຶກບໍ່ສາມາດອ່ານໄດ້, ວິທີການນີ້ຈະຍົກຂຶ້ນມາ NO_FILE
ຄວາມ​ຜິດ​ພາດ​ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌​ບໍ່​ມີ​ຫຼື​ ປະຕິບັດ ຜິດ​ພາດ​ຖ້າ​ຫາກ​ວ່າ​ບັນ​ຫາ​ອື່ນໆ​
ໄດ້ພົບ.

ຫມາຍ​ເຫດ​:
ວິທີການ readLog() ແທນ readMainLog() ທີ່ພົບໃນ Supervisor
ຮຸ່ນກ່ອນ 2.1. ມັນແມ່ນນາມແຝງສໍາລັບຄວາມເຂົ້າກັນໄດ້ແຕ່
readMainLog() ໄດ້ຖືກຍົກເລີກ ແລະການສະຫນັບສະຫນູນຈະຖືກຫຼຸດລົງຈາກ
ຜູ້ຄຸມງານໃນສະບັບໃນອະນາຄົດ.

clearLog()
ລຶບບັນທຶກຫຼັກ.

@return ຜົນໄດ້ຮັບ boolean ສະເຫມີກັບຄືນ True ເວັ້ນເສຍແຕ່ມີຂໍ້ຜິດພາດ

ຖ້າ​ບັນ​ທຶກ​ບໍ່​ສາ​ມາດ​ຖືກ​ລົບ​ລ້າງ​ເນື່ອງ​ຈາກ​ວ່າ​ໄຟລ​໌​ບັນ​ທຶກ​ບໍ່​ມີ​, ໄດ້​
ຄວາມຜິດ NO_FILE ຈະຖືກຍົກຂຶ້ນມາ. ຖ້າບັນທຶກບໍ່ສາມາດຖືກລຶບລ້າງໃຫ້ອັນອື່ນ
ເຫດຜົນ, ຄວາມຜິດ ປະຕິບັດ ຈະຖືກຍົກຂຶ້ນມາ.

ປິດ​ເຄື່ອງ()
ປິດຂະບວນການຜູ້ຄຸມງານ

@return ຜົນໄດ້ຮັບ boolean ສະເຫມີກັບຄືນ True ເວັ້ນເສຍແຕ່ມີຂໍ້ຜິດພາດ

ວິທີການນີ້ປິດ daemon Supervisor. ຖ້າຂະບວນການໃດ
ແລ່ນ, ພວກເຂົາຖືກຂ້າໂດຍອັດຕະໂນມັດໂດຍບໍ່ມີການເຕືອນ.

ບໍ່ເຫມືອນກັບວິທີການອື່ນໆຫຼາຍທີ່ສຸດ, ຖ້າ Supervisor ຢູ່ໃນ ໄຂມັນ ລັດ, ນີ້
ວິທີການຍັງຈະເຮັດວຽກ.

ເລີ່ມ​ຕົ້ນ​ໃຫມ່()
ຣີສະຕາດຂະບວນການຜູ້ຄຸມງານ

@return ຜົນໄດ້ຮັບ boolean ສະເຫມີກັບຄືນ True ເວັ້ນເສຍແຕ່ຄວາມຜິດພາດ

ວິທີນີ້ປິດເປີດ daemon Supervisor ຄືນໃໝ່. ຖ້າຂະບວນການໃດ
ແລ່ນ, ພວກເຂົາຖືກຂ້າໂດຍອັດຕະໂນມັດໂດຍບໍ່ມີການເຕືອນ. ໃຫ້ສັງເກດວ່າ
ຂະບວນການ UNIX ຕົວຈິງສໍາລັບ Supervisor ບໍ່ສາມາດເລີ່ມຕົ້ນໃຫມ່ໄດ້; ພຽງ​ແຕ່​ຫົວ​ຫນ້າ​ຂອງ​ຜູ້​ດູ​ແລ​
ໂປຣແກຣມ loop. ນີ້ມີຜົນກະທົບຂອງການປັບສະຖານະພາຍໃນຂອງ
Supervisor

ບໍ່ເຫມືອນກັບວິທີການອື່ນໆຫຼາຍທີ່ສຸດ, ຖ້າ Supervisor ຢູ່ໃນ ໄຂມັນ ລັດ, ນີ້
ວິທີການຍັງຈະເຮັດວຽກ.

ຂະບວນການ ການຄວບຄຸມ
ລະດັບ supervisor.rpcinterface.SupervisorNamespaceRPCIInterface(ຜູ້ຄຸມງານ)

getProcessInfo(ຊື່)
ໄດ້ຮັບຂໍ້ມູນກ່ຽວກັບຂະບວນການທີ່ມີຊື່

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name') @return
struct result A ໂຄງສ້າງທີ່ມີຂໍ້ມູນກ່ຽວກັບຂະບວນການ

ຄ່າກັບຄືນແມ່ນໂຄງສ້າງ:

{'ຊື່': 'ຊື່ຂະບວນການ',
'ກຸ່ມ': 'ຊື່​ກຸ່ມ',
'ລາຍລະອຽດ': 'pid 18806, ເວລາເຮັດວຽກ 0:03:12'
'ເລີ່ມຕົ້ນ': 1200361776,
'ຢຸດ': 0,
'ດຽວນີ້': 1200361812,
'ລັດ': 1,
'ຊື່ລັດ': 'ແລ່ນ',
'ຜູ້ລ້ຽງສັດ': '',
'ອອກຈາກສະຖານະ': 0,
'logfile': '/path/to/stdout-log', # ເຊົາໃຊ້ແລ້ວ, b/c ເທົ່ານັ້ນ
'stdout_logfile': '/path/to/stdout-log',
'stderr_logfile': '/path/to/stderr-log',
'pid': 1}

ຊື່ ຊື່ຂອງຂະບວນການ

ກຸ່ມ ຊື່ຂອງຂະບວນການ' ກຸ່ມ

ຄໍາອະທິບາຍ
ຖ້າສະຖານະຂະບວນການກໍາລັງແລ່ນຄ່າຂອງຄໍາອະທິບາຍແມ່ນ process_id ແລະ
ເວລາເຮັດວຽກ. ຕົວຢ່າງ "pid 18806, uptime 0:03:12". ຖ້າສະຖານະຂະບວນການແມ່ນ
ຄ່າຄຳອະທິບາຍທີ່ຢຸດແມ່ນເວລາຢຸດ. ຕົວຢ່າງ:"ເດືອນມິຖຸນາ 5 03:16 ໂມງແລງ
".

ການເລີ່ມຕົ້ນ UNIX ສະແຕມເວລາຂອງເວລາທີ່ຂະບວນການໄດ້ເລີ່ມຕົ້ນ

ຢຸດ UNIX timestamp ຂອງເວລາທີ່ຂະບວນການສຸດທ້າຍສິ້ນສຸດລົງ, ຫຼື 0 ຖ້າຂະບວນການ
ບໍ່ເຄີຍຢຸດເຊົາ.

ໃນປັດຈຸບັນ UNIX timestamp ຂອງເວລາປະຈຸບັນ, ເຊິ່ງສາມາດໃຊ້ໃນການຄິດໄລ່
ຂະບວນການເຖິງເວລາ.

ລັດ ລະຫັດລັດ, ເບິ່ງ process_states.

ຊື່ລັດ
ລາຍລະອຽດສາຍຂອງ ລັດ, ເບິ່ງ process_states.

logfile
ຍົກເລີກນາມແຝງສຳລັບ stdout_logfile. ນີ້ແມ່ນສະຫນອງໃຫ້ພຽງແຕ່ສໍາລັບ
ຄວາມເຂົ້າກັນໄດ້ກັບລູກຄ້າທີ່ຂຽນສໍາລັບ Supervisor 2.x ແລະອາດຈະເປັນ
ເອົາອອກໃນອະນາຄົດ. ໃຊ້ stdout_logfile ແທນທີ່ຈະເປັນ.

stdout_logfile
ເສັ້ນທາງຢ່າງແທ້ຈິງ ແລະຊື່ໄຟລ໌ໄປຫາໄຟລ໌ບັນທຶກ STDOUT

stderr_logfile
ເສັ້ນທາງຢ່າງແທ້ຈິງ ແລະຊື່ໄຟລ໌ໄປຫາໄຟລ໌ບັນທຶກ STDOUT

ຜູ້ລ້ຽງສັດ
ລາຍ​ລະ​ອຽດ​ຂອງ​ຄວາມ​ຜິດ​ພາດ​ທີ່​ເກີດ​ຂຶ້ນ​ໃນ​ລະ​ຫວ່າງ​ການ spawn​, ຫຼື​ສາຍ​ເປົ່າ​
ຖ້າບໍ່ມີ.

ສະຖານະການອອກ
ອອກຈາກສະຖານະ (ລະດັບຄວາມຜິດພາດ) ຂອງຂະບວນການ, ຫຼື 0 ຖ້າຂະບວນການຍັງຢູ່
ແລ່ນ.

pid UNIX process ID (PID) ຂອງຂະບວນການ, ຫຼື 0 ຖ້າຂະບວນການບໍ່ແມ່ນ
ແລ່ນ.

getAllProcessInfo()
ໄດ້ຮັບຂໍ້ມູນກ່ຽວກັບຂະບວນການທັງຫມົດ

@return array ຜົນໄດ້ຮັບ array ຂອງຜົນໄດ້ຮັບສະຖານະພາບຂະບວນການ

ແຕ່ລະອົງປະກອບມີໂຄງສ້າງ, ແລະໂຄງສ້າງນີ້ປະກອບດ້ວຍອັນດຽວກັນ
ອົງປະກອບຕາມໂຄງສ້າງທີ່ສົ່ງຄືນໂດຍ getProcessInfo. ຖ້າຕາຕະລາງຂະບວນການ
ຫວ່າງເປົ່າ, array ຫວ່າງເປົ່າຖືກສົ່ງຄືນ.

ຂະບວນການເລີ່ມຕົ້ນ (ຊື່, wait=True)
ເລີ່ມຂະບວນການ

@param string name ຊື່ຂະບວນການ (ຫຼື ກຸ່ມ: ຊື່, ຫຼື ກຸ່ມ:*) @param
boolean wait ລໍຖ້າຂະບວນການເລີ່ມຕົ້ນຢ່າງເຕັມທີ່ @return boolean result
ເປັນຄວາມຈິງສະເໝີເວັ້ນເສຍແຕ່ມີຄວາມຜິດພາດ

startAllProcesses(ລໍຖ້າ=ແທ້)
ເລີ່ມຕົ້ນຂະບວນການທັງຫມົດທີ່ລະບຸໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າ

@param boolean wait ລໍຖ້າໃຫ້ແຕ່ລະຂະບວນການເລີ່ມເຕັມ @return
array ຜົນໄດ້ຮັບ array ຂອງໂຄງສ້າງຂໍ້ມູນສະຖານະຂະບວນການ

startProcessGroup(ຊື່, wait=True)
ເລີ່ມຕົ້ນຂະບວນການທັງຫມົດໃນກຸ່ມທີ່ມີຊື່ວ່າ 'ຊື່'

@param string name ຊື່ກຸ່ມ @param boolean wait wait for
ແຕ່ລະຂະບວນການທີ່ຈະເລີ່ມຕົ້ນຢ່າງເຕັມທີ່ @return array ຜົນໄດ້ຮັບ array ຂອງ
ໂຄງສ້າງຂໍ້ມູນສະຖານະຂະບວນການ

ຂະບວນການຢຸດ (ຊື່, wait=True)
ຢຸດຂະບວນການທີ່ມີຊື່

@param ຊື່ສະຕຣິງ ຊື່ຂອງຂະບວນການທີ່ຈະຢຸດ (ຫຼື 'ກຸ່ມ:ຊື່')
@param boolean wait ລໍຖ້າໃຫ້ຂະບວນການຢຸດຢ່າງສົມບູນ
@return boolean ຜົນ​ໄດ້​ຮັບ​ສະ​ເຫມີ​ກັບ True ເວັ້ນ​ເສຍ​ແຕ່​ມີ​ຄວາມ​ຜິດ​ພາດ

stopProcessGroup(ຊື່, wait=True)
ຢຸດຂະບວນການທັງຫມົດໃນກຸ່ມຂະບວນການທີ່ມີຊື່ວ່າ 'ຊື່'

@param string name ຊື່ກຸ່ມ @param boolean wait wait for
ແຕ່​ລະ​ຂະ​ບວນ​ການ​ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ຢຸດ​ເຊົາ​ຢ່າງ​ເຕັມ​ທີ່ @return array ຜົນ​ໄດ້​ຮັບ array ຂອງ
ໂຄງສ້າງຂໍ້ມູນສະຖານະຂະບວນການ

stopAllProcesses(ລໍຖ້າ=ແທ້)
ຢຸດເຊົາຂະບວນການທັງຫມົດໃນບັນຊີລາຍຊື່ຂະບວນການ

@param boolean wait ລໍຖ້າໃຫ້ແຕ່ລະຂະບວນການຢຸດເຕັມ @return
array ຜົນໄດ້ຮັບ array ຂອງໂຄງສ້າງຂໍ້ມູນສະຖານະຂະບວນການ

sendProcessStdin(ຊື່, ຕົວອັກສອນ)
ສົ່ງສະຕຣິງຂອງຕົວອັກສອນໄປຫາ stdin ຂອງຊື່ຂະບວນການ. ຖ້າບໍ່ແມ່ນ 7-bit
ຂໍ້ມູນຖືກສົ່ງ (unicode), ມັນຖືກເຂົ້າລະຫັດເປັນ utf-8 ກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາ
ຂະບວນການ. ຖ້າ chars ບໍ່ແມ່ນ string ຫຼືບໍ່ແມ່ນ unicode, ຍົກສູງ
INCORRECT_PARAMETERS. ຖ້າຂະບວນການບໍ່ເຮັດວຽກ, ໃຫ້ຍົກ NOT_RUNNING.
ຖ້າຂະບວນການ' stdin ບໍ່ສາມາດຍອມຮັບການປ້ອນຂໍ້ມູນ (ເຊັ່ນ: ມັນຖືກປິດໂດຍ
ຂະບວນການເດັກ), ຍົກສູງ NO_FILE.

@param string name ຊື່ຂະບວນການທີ່ຈະສົ່ງໄປຫາ (ຫຼື 'ກຸ່ມ:ຊື່')
@param string chars ຂໍ້ມູນຕົວອັກສອນທີ່ຈະສົ່ງໄປຫາຂະບວນການ
@return boolean ຜົນ​ໄດ້​ຮັບ​ສະ​ເຫມີ​ກັບ True ເວັ້ນ​ເສຍ​ແຕ່​ມີ​ຄວາມ​ຜິດ​ພາດ

sendRemoteCommEvent(ປະເພດ, ຂໍ້ມູນ)
ສົ່ງເຫດການທີ່ຈະໄດ້ຮັບໂດຍຂະບວນການຍ່ອຍຂອງຜູ້ຟັງເຫດການ
ສະໝັກໃຊ້ RemoteCommunicationEvent.

@param string type String ສໍາລັບປຸ່ມ "type" ໃນຫົວຂໍ້ເຫດການ
@param string data ຂໍ້ມູນສຳລັບຕົວເຫດການ @return boolean
ກັບຄືນ True ສະເໝີ ເວັ້ນເສຍແຕ່ຄວາມຜິດພາດ

reloadConfig()
ໂຫຼດການຕັ້ງຄ່າຄືນໃໝ່

@return ຜົນໄດ້ຮັບ boolean ສະເຫມີກັບຄືນ True ເວັ້ນເສຍແຕ່ຄວາມຜິດພາດ

addProcessGroup(ຊື່)
ອັບເດດ config ສໍາລັບຂະບວນການແລ່ນຈາກໄຟລ໌ config.

@param ຊື່ສະຕຣິງຊື່ຂອງກຸ່ມຂະບວນການເພື່ອເພີ່ມ @return boolean
ຜົນໄດ້ຮັບທີ່ແທ້ຈິງຖ້າປະສົບຜົນສໍາເລັດ

removeProcessGroup(ຊື່)
ເອົາຂະບວນການທີ່ຢຸດເຊົາອອກຈາກການຕັ້ງຄ່າທີ່ເຮັດວຽກ.

@param ຊື່ສະຕຣິງຊື່ຂອງກຸ່ມຂະບວນການທີ່ຈະເອົາ @return
ຜົນໄດ້ຮັບ boolean ຊີ້ບອກວ່າການເອົາອອກໄດ້ສໍາເລັດຫຼືບໍ່

ຂະບວນການ ການຕັດໄມ້ທ່ອນ
ລະດັບ supervisor.rpcinterface.SupervisorNamespaceRPCIInterface(ຜູ້ຄຸມງານ)

readProcessStdoutLog(ຊື່, ຊົດເຊີຍ, ຄວາມຍາວ)
ອ່ານຄວາມຍາວ bytes ຈາກບັນທຶກ stdout ຂອງຊື່ເລີ່ມຕົ້ນທີ່ offset

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name')
@param int offset ຊົດເຊີຍເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ. @param int
ຄວາມຍາວຂອງໄບຕ໌ທີ່ຈະອ່ານຈາກບັນທຶກ. @return string
ຜົນໄດ້ຮັບ Bytes ຂອງບັນທຶກ

readProcessStderrLog(ຊື່, ຊົດເຊີຍ, ຄວາມຍາວ)
ອ່ານຄວາມຍາວ bytes ຈາກບັນທຶກ stderr ຂອງຊື່ເລີ່ມຕົ້ນທີ່ offset

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name')
@param int offset ຊົດເຊີຍເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ. @param int
ຄວາມຍາວຂອງໄບຕ໌ທີ່ຈະອ່ານຈາກບັນທຶກ. @return string
ຜົນໄດ້ຮັບ Bytes ຂອງບັນທຶກ

tailProcessStdoutLog(ຊື່, ຊົດເຊີຍ, ຄວາມຍາວ)
ສະຫນອງວິທີການທີ່ມີປະສິດທິພາບຫຼາຍຂຶ້ນເພື່ອຫາງບັນທຶກ (stdout) ຫຼາຍກວ່າ
readProcessStdoutLog(). ໃຊ້ readProcessStdoutLog() ເພື່ອອ່ານ chunks ແລະ
tailProcessStdoutLog() ໄປຫາຫາງ.

ການຮ້ອງຂໍ (ຄວາມຍາວ) bytes ຈາກບັນທຶກຂອງ (ຊື່), ເລີ່ມຕົ້ນທີ່ (ຊົດເຊີຍ). ຖ້າ
ຂະຫນາດຂອງບັນທຶກທັງຫມົດແມ່ນໃຫຍ່ກວ່າ (ຊົດເຊີຍ + ຄວາມຍາວ), ທຸງ overflow
ຖືກຕັ້ງແລະ (ຊົດເຊີຍ) ຈະຖືກເພີ່ມຂຶ້ນໂດຍອັດຕະໂນມັດເພື່ອຈັດຕໍາແຫນ່ງ buffer
ໃນຕອນທ້າຍຂອງບັນທຶກ. ຖ້າມີຫນ້ອຍກວ່າ (ຄວາມຍາວ) bytes, the
ຈຳນວນສູງສຸດຂອງໄບຕ໌ທີ່ມີຢູ່ຈະຖືກສົ່ງຄືນ. (ຊົດເຊີຍ) ກັບຄືນມາແມ່ນ
ເປັນການຊົດເຊີຍສຸດທ້າຍສະເໝີໃນບັນທຶກ +1.

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name')
@param int offset ຊົດເຊີຍເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ @param int length
ຈໍາ​ນວນ​ສູງ​ສຸດ​ຂອງ​ໄບ​ຕ​໌​ທີ່​ຈະ​ກັບ​ຄືນ @return array ຜົນ [string
bytes, int offset, bool overflow]

tailProcessStderrLog(ຊື່, ຊົດເຊີຍ, ຄວາມຍາວ)
ສະຫນອງວິທີການທີ່ມີປະສິດທິພາບຫຼາຍທີ່ຈະຫາງບັນທຶກ (stderr) ຫຼາຍກວ່າ
readProcessStderrLog(). ໃຊ້ readProcessStderrLog() ເພື່ອອ່ານ chunks ແລະ
tailProcessStderrLog() ໄປຫາຫາງ.

ການຮ້ອງຂໍ (ຄວາມຍາວ) bytes ຈາກບັນທຶກຂອງ (ຊື່), ເລີ່ມຕົ້ນທີ່ (ຊົດເຊີຍ). ຖ້າ
ຂະຫນາດຂອງບັນທຶກທັງຫມົດແມ່ນໃຫຍ່ກວ່າ (ຊົດເຊີຍ + ຄວາມຍາວ), ທຸງ overflow
ຖືກຕັ້ງແລະ (ຊົດເຊີຍ) ຈະຖືກເພີ່ມຂຶ້ນໂດຍອັດຕະໂນມັດເພື່ອຈັດຕໍາແຫນ່ງ buffer
ໃນຕອນທ້າຍຂອງບັນທຶກ. ຖ້າມີຫນ້ອຍກວ່າ (ຄວາມຍາວ) bytes, the
ຈຳນວນສູງສຸດຂອງໄບຕ໌ທີ່ມີຢູ່ຈະຖືກສົ່ງຄືນ. (ຊົດເຊີຍ) ກັບຄືນມາແມ່ນ
ເປັນການຊົດເຊີຍສຸດທ້າຍສະເໝີໃນບັນທຶກ +1.

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name')
@param int offset ຊົດເຊີຍເພື່ອເລີ່ມຕົ້ນການອ່ານຈາກ @param int length
ຈໍາ​ນວນ​ສູງ​ສຸດ​ຂອງ​ໄບ​ຕ​໌​ທີ່​ຈະ​ກັບ​ຄືນ @return array ຜົນ [string
bytes, int offset, bool overflow]

clearProcessLogs(ຊື່)
ລຶບບັນທຶກ stdout ແລະ stderr ສໍາລັບຂະບວນການທີ່ມີຊື່ແລະເປີດພວກມັນຄືນໃຫມ່.

@param string name ຊື່ຂະບວນການ (ຫຼື 'group:name') @return
ຜົນໄດ້ຮັບ boolean ສະເຫມີ True ເວັ້ນເສຍແຕ່ຄວາມຜິດພາດ

clearAllProcessLog()
ລຶບໄຟລ໌ບັນທຶກຂະບວນການທັງໝົດ

@return array ຜົນໄດ້ຮັບ array ຂອງໂຄງສ້າງຂໍ້ມູນສະຖານະຂະບວນການ

ລະບົບ ວິທີການ
ລະດັບ supervisor.xmlrpc.SystemNamespaceRPCIInterface(namespaces)

ລາຍການວິທີການ()
ສົ່ງຄືນອາເຣທີ່ສະແດງຊື່ວິທີການທີ່ມີຢູ່

@return array ຜົນ​ໄດ້​ຮັບ array ຂອງ method names available (strings).

ວິ​ທີ​ການ​ຊ່ວຍ​ເຫຼືອ (ຊື່​)
ສົ່ງຄືນສະຕຣິງທີ່ສະແດງເອກະສານວິທີການ

@param string name ຊື່ຂອງວິທີການ. @return string ຜົນ ໄດ້
ເອກະສານສໍາລັບຊື່ວິທີການ.

ວິທີການລາຍເຊັນ(ຊື່)
ສົ່ງຄືນອາເຣທີ່ອະທິບາຍລາຍເຊັນວິທີການໃນຮູບແບບ [rtype,
ptype, ptype ...] ບ່ອນທີ່ rtype ແມ່ນປະເພດຂໍ້ມູນກັບຄືນຂອງວິທີການ, ແລະ
ptypes ແມ່ນປະເພດຂໍ້ມູນພາລາມິເຕີທີ່ວິທີການຍອມຮັບໃນວິທີການ
ຄໍາສັ່ງໂຕ້ຖຽງ.

@param string name ຊື່ຂອງວິທີການ. @return array ຜົນ ໄດ້
ຜົນໄດ້ຮັບ.

Multicall(ໂທ)
ປະມວນຜົນ array ຂອງການໂທ, ແລະສົ່ງຄືນ array ຂອງຜົນໄດ້ຮັບ. ໂທຄວນ
be structs of the form {'methodName': string, 'params': array}. ແຕ່ລະ
ຜົນໄດ້ຮັບຈະເປັນ array ລາຍການດຽວທີ່ມີຄ່າຜົນໄດ້ຮັບ, ຫຼື a
ໂຄງສ້າງຂອງແບບຟອມ {'faultCode': int, 'faultString': string}. ນີ້​ແມ່ນ
ມີປະໂຫຍດໃນເວລາທີ່ທ່ານຕ້ອງການໂທຫາຂະຫນາດນ້ອຍຫຼາຍໂດຍບໍ່ມີການຫຼາຍຮອບ
ການເດີນທາງ.

@param array calls array ຂອງ call requests @return array ຜົນ An
array ຂອງຜົນໄດ້ຮັບ

PLUGINS


ດັດສະນີ ແລະ ຕາຕະລາງ


· genindex

· modindex

· ຄົ້ນ​ຫາ​

ໃຊ້ຜູ້ຄຸມງານອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.