ใน บริษัท ที่ฉันทำงานอยู่ตอนนี้มีบริการแบบดั้งเดิมและสคริปต์เริ่มต้นของมันกำลังใช้ SysvInit รุ่นเก่า แต่ทำงานผ่าน systemd (CentOS 7)
เนื่องจากมีการคำนวณจำนวนมากบริการนี้ใช้เวลาประมาณ 70 วินาทีจึงจะเสร็จสิ้น ฉันไม่ได้กำหนดค่าการหมดเวลาสำหรับ systemd และไม่เปลี่ยนการกำหนดค่าเริ่มต้นที่/etc/systemd/system.conf
แต่เมื่อฉันเรียกใช้service SERVICE stop
บริการของฉันหมดเวลาหลังจาก 60 วินาที
ตรวจสอบกับjournalctl -b -u SERVICE.service
ฉันพบบันทึกนี้:
Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop
Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255
Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED]
ฉันได้ลองเปลี่ยนDefaultTimeoutStopSec
คุณสมบัติ/etc/systemd/system.conf
เป็น90s
เป็น แต่การหมดเวลายังคงเกิดขึ้น
ไม่มีใครมีความคิดใด ๆ ว่าทำไมถึงหมดเวลาที่ 60s? มีที่ไหนอีกบ้างที่มีการกำหนดค่าการหมดเวลานี้ มีวิธีที่ฉันสามารถตรวจสอบได้หรือไม่
บริการนี้จะทำงานด้วย java 7 และ daemonize มันใช้JSVC ผมกำหนดค่าพารามิเตอร์ที่มีค่า-wait
120
TimeoutSec=infinity
- เป็นไปได้ไหมที่บล็อกนี้จะรีบูตโดยไม่มีกำหนด? จะเป็นอย่างไรถ้าใช้ "ตลอดไป" เพื่อให้กระบวนการออก ผมขอแนะนำให้เป็นจำนวนมากเช่น5min
แต่อาจจะไม่ได้infinity
...