การใช้exec
เพื่อเริ่มกระบวนการเป็นเรื่องปกติ แต่เมื่อหยุดมันหากคุณต้องการเรียกใช้สคริปต์หรือชุดคำสั่งเฉพาะคุณสามารถใช้ pre-stop
stanza ได้
pre-stop exec shutdown.sh
ฉันคิดว่าคุณได้ลองใช้ exec stanza แล้วและมันไม่ทำงานอาจเป็นเพราะ daemon ของคุณต้องการการล้างเฉพาะ โปรดทราบว่า daemons ที่ทำงานได้ดีควรรับสัญญาณจากการพุ่งพรวดเมื่องานหยุดทำงานและหากพวกเขาจัดการสัญญาณอย่างเหมาะสมไม่จำเป็นต้องทำการล้างข้อมูลเพิ่มเติม
การหยุดงานเกี่ยวข้องกับการส่ง SIGTERM ไปให้ หากมีสิ่งใดที่ต้องทำก่อน SIGTERM ให้ทำที่นี่ เนื้อหาบริการควรจัดการ SIGTERM อย่างสง่างามดังนั้นจึงไม่จำเป็น
หากมีสิ่งใดที่สำคัญอย่างเช่นการล้างข้อมูลบนดิสก์และการเพิ่มระยะเวลาการฆ่าไม่ได้เป็นตัวเลือกการหยุดแบบล่วงหน้าไม่ใช่สถานที่ที่ไม่ดีที่จะทำ
อ่านส่วนนี้สำหรับกระบวนการทำงานทั้งหมดของสิ่งที่เกิดขึ้นเมื่อคุณหยุดงาน แจ้งให้ทราบเมื่อมีการเรียกใช้การหยุดก่อนและวิธีการที่สัญญาณถูกส่งไปยังกระบวนการหลังจากนั้นซึ่งเป็นวิธีการพุ่งพรวดจัดการงานหยุดตามปกติ
แหล่งที่มาของฉันคือตำราอาหารพุ่งพรวดอย่างเป็นทางการที่: http://upstart.ubuntu.com/cookbook/