สัญญาณอะไรที่พุ่งพรวด / initctl ใช้เพื่อเริ่มงานใหม่?


10

สัญญาณอะไรที่upstart/ initctlใช้เพื่อเริ่มงานใหม่? นอกจากนี้มีวิธีใดที่จะระบุว่าควรใช้ SIGHUP หรือไม่

อีกวิธีหนึ่งมีวิธีกำหนดreloadคำสั่งแบบกำหนดเองที่จะส่ง SIGHUP หรือไม่ หรือฉันต้องออกไปข้างนอกupstartเพื่อทำเช่นนั้น?


ฉันเชื่อว่ามัน SIGQUIT; การตอบสนองต่อ SIGHUP เป็นแอพพลิเคชั่นเฉพาะในกรณีส่วนใหญ่
Chris S

นั่นจะทำให้รู้สึก ดูการแก้ไขคำอธิบายของฉัน
David Eyk

คำตอบ:


23

สัญญาณอะไรที่จะพุ่งพรวด / initctl ใช้ในการรีสตาร์ทงาน?

SIGTERM

$ strace -fp `pgrep cron` 2> ~/strace &
$ initctl restart cron
$ cat ~/strace
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {0x804a280, [CHLD], SA_RESTART}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({60, 0}, {57, 153662204})     = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGTERM (Terminated) @ 0 (0) ---
Process 2275 detached

นอกจากนี้มีวิธีใดที่จะระบุว่าควรใช้ SIGHUP หรือไม่

ใช้: initctl reload

อีกวิธีหนึ่งมีวิธีการกำหนดคำสั่งโหลดที่กำหนดเองที่จะส่ง SIGHUP หรือไม่?

ใช้: initctl reload

หรือฉันต้องออกไปข้างนอกเพื่อเริ่มต้นทำสิ่งนั้น?

ใช้initctl reloadหรือkill/killall -HUP


ถี่ถ้วนมาก ขอบคุณ. ฉันคิดว่าฉันได้พบบางอย่างในหน้าคน!
David Eyk

มันได้รับการอัพเกรดเป็น SIGKILL ถ้าบริการไม่หยุดทำงาน "การหยุดงานที่เกี่ยวข้องกับการส่ง SIGTERM ไปให้ ... อย่างไรก็ตามหากบริการใช้เวลามากกว่าวินาทีการหมดเวลาฆ่า (ค่าเริ่มต้น 5 วินาที) จากนั้นจะถูกส่ง SIGKILL" upstart.ubuntu.com/cookbook/#pre-stop
scipilot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.