จากคำถามนี้ฉันได้เขียนบริการธรรมดา ๆ ( /etc/init/pms.conf ) สำหรับกล่อง Ubuntu Server 11.04 ที่ไม่มีหัวของฉันดังนี้:
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
ฉันสามารถเริ่ม (หรือหยุด) บริการนี้ได้ตามต้องการจากบรรทัดคำสั่ง:
service pms start
และฉันเห็นได้ว่ามันกำลังวิ่งอย่างแน่นอน
อย่างไรก็ตามเมื่อฉันบูตเครื่องครั้งแรกบริการของฉันจะไม่เริ่มทำงาน ถ้าฉัน SSH ลงในช่องและตรวจสอบสถานะบริการที่ฉันได้รับ:
$ service pms status
pms stop/waiting
คำถามของฉันคือทำไมสิ่งนี้เกิดขึ้น? เหตุใดบริการของฉันจึงไม่เริ่มต้นการบู๊ต
อัปเดต 1 : ไม่แน่ใจว่าบริการของฉันเริ่มต้นแล้วและกำลังจะตายหรือไม่เริ่มเลยฉันเพิ่มสิ่งต่อไปนี้ใน PMS.sh:
echo "STARTED" > $STARTLOG
นี้เห็นได้ชัดเพียงแค่ให้ฉันบางสิ่งบางอย่างที่จะมองหา ผมทดสอบนี้โดยเริ่มต้นให้บริการตัวเองและการตรวจสอบแล้วstart.log ฉันลบstart.logแล้วรีบูต มันไม่ได้อยู่ที่นั่นหลังจากรีสตาร์ทดังนั้นดูเหมือนว่าคนธรรมดาไม่เริ่มให้บริการของฉัน ฉันคิดว่ามันอาจจะตายในจุดก่อนหน้าในกระบวนการ แต่ดูเหมือนว่าไม่น่าจะให้ความเรียบง่ายของมันทั้งหมด
อัปเดต 2 : ฉันเพิ่งอัปเกรดเป็น 11.10 ซึ่งรวมถึงการอัปเกรดครั้งแรก แต่ปัญหานี้ยังคงเกิดขึ้น
UPDATE 3 : ขอเป็นฉันได้ booted --debug
กับ การส่งออกของแมว/var/log/syslog | grep init
เป็นเวลานานเกินไปที่จะเกิดขึ้นในคำถาม แต่คุณดูที่นี่
อัพเดท 4 : บันทึกเพิ่มเติมเวลานี้ความเชื่อมั่นพุ่งพรวดรวมอยู่ที่ด้านบน รอบ 1และรอบ 2
cat /var/log/syslog | grep init
หลังจากเปิดใช้งาน loggging บูตสำหรับพุ่งพรวดโดยใช้คำแนะนำที่พุ่งพรวดแก้จุดบกพร่อง