แตกต่างก็คือคนธรรมดาจะเปลี่ยน init ขณะ supervisord Process Control System
เป็น คำอธิบายนี้มีให้ในไซต์ supervisord :
มันแบ่งปันเป้าหมายเดียวกันของโปรแกรมเช่น launchd, daemontools และ runit แตกต่างจากบางส่วนของโปรแกรมเหล่านี้มันไม่ได้หมายความว่าจะเรียกใช้แทนสำหรับ init เป็น "กระบวนการ id 1" แต่มันถูกใช้เพื่อควบคุมกระบวนการที่เกี่ยวข้องกับโครงการหรือลูกค้าและมีจุดมุ่งหมายเพื่อเริ่มต้นเหมือนโปรแกรมอื่น ๆ ในเวลาบูต
ซึ่งหมายความว่า supervisord เองจะเริ่มต้นด้วยการพุ่งพรวดไม่ว่าจะเป็นไฟล์งานพุ่งพรวดหรือสคริปต์เริ่มต้น sysV โดยส่วนตัวแล้วฉันได้เลือกใช้ตัวจัดการกระบวนการมากกว่าเริ่มต้นธรรมดาด้วยเหตุผลดังต่อไปนี้:
- บริการไม่ daemonize อย่างถูกต้อง
- เป็นที่ทราบกันดีว่าบริการจำเป็นต้องได้รับการตรวจสอบและเริ่มต้นใหม่
ตัวอย่างของโปรแกรมที่ไม่ถูกต้อง daemonizing คือเมื่อมันไม่ปิด stdout และ stderr และยังคงเขียนข้อมูลไปยังตำแหน่งเหล่านั้น Supervisord สามารถจัดการการบันทึกของเอาต์พุตนั้น