ใช้พุ่งพรวดกับอินสแตนซ์หยุดที่ไม่รู้จัก


8

ฉันเพิ่งเข้าสู่โหมดพุ่งพรวดดังนั้นฉันจึงเขียนสคริปต์พื้นฐานมาก ๆ เพื่อพิมพ์ไปยังไฟล์บันทึกที่เรียกว่า: vm-service.confที่ฉันใส่ไว้/etc/init:

description "Virtual Images"
author      "Me"

start on runlevel [2345]
stop on runlevel [016]
respawn   


script
echo "DEBUG: `set`" >> /tmp/vm-service.log

end script


pre-stop script
    echo "DEBUG: `set`" >> /tmp/vm-service.log
end script

ถ้าฉันทำงานsudo start vm-serviceมันจะส่งผล:

vm-service start/running, process 29034

แต่เมื่อฉันรันsudo stop vm-serviceมันจะส่งผล:

stop: Unknown instance

ฉันพยายามเรียกใช้sudo initctl reload-configurationแล้ว แต่ฉันยังคงพบข้อผิดพลาดเมื่อหยุด

ฉันดูตำราอาหารแต่ฉันอาจจะพลาดอะไรบางอย่างที่ชัดเจน

คำตอบ:


7

พุ่งพรวดจะพิจารณางานที่หยุดถ้ากระบวนการหลัก (สิ่งที่จะทำงานหากมีการระบุสคริปต์หรือ exec stanzas) ออก พุ่งพรวดจะเรียกใช้กระบวนการโพสต์เริ่มต้น

ดังนั้นสิ่งที่เกิดขึ้นก็คือสคริปต์ตัวแรกกำลังทำงานและออกจากการพุ่งพรวดกำลังพิจารณางานที่หยุดลงจากนั้นสคริปต์ตัวที่สองจะทำงานและออก หากคุณรันคำสั่ง stop กับงานที่หยุดทำงานไปแล้วมันจะพิมพ์ข้อความที่คุณเห็น

หากต้องการจัดการสิ่งนี้ให้ใช้ stanza ก่อนเริ่มต้น:

pre-start exec foo --bar

post-start exec baz --foo

หากคุณทำสิ่งนี้พุ่งพรวดจะเห็นงานเริ่มต้นทันทีที่บทก่อนเริ่มต้นเสร็จสิ้นและไม่หยุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.