SLES 12 บริการเริ่มและหยุดคำสั่งไม่ทำงาน


0

ระบบของฉันทำงานบน suse enterprise 12 sp2

ฉันมีสองบริการ sapinit และ sapcontrol เมื่อเริ่มต้นบริการ sapinit จะต้องเริ่มต้นก่อนที่บริการ sapcontrol จะสามารถเริ่มและปิดหรือหยุดการให้บริการ sapcontrol ต้องหยุดทำงานเพื่อให้ sapinit สามารถหยุดทำงานได้

ฉันสร้างทั้งสองสคริปต์ดังต่อไปนี้และเพิ่มพวกเขาผ่าน insserv

ส่วนหัวของ /etc/init.d/sapinit

### BEGIN INIT INFO
# Provides: sapinit
# Required-Start: $network $syslog $remote_fs $time
# X-UnitedLinux-Should-Start:
# Required-Stop:
# X-Stop-After: $sapcontrol
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Start the sapstartsrv
# Description: Start the startsapsrv 
### END INIT INFO

ส่วนหัวของ /etc/init.d/sapcontrol

### BEGIN INIT INFO
# Provides: sapcontrol
# Required-Start: $sapinit
# Required-Stop: $network $syslog $remote_fs $time $sapinit
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Start and Stop SAP System as system changed
# Short-Description: start and stop SAP
### END INIT INFO

สำหรับบริการ LSB นี้ฉันได้กำหนดสิ่งที่ต้องการ - หยุดและสิ่งจำเป็น - เริ่มสำหรับการสั่งซื้อที่ถูกต้อง แต่ระบบไม่สนใจ

ในการเริ่มต้นบริการ sapcontrol จะเริ่มต้นก่อนและต้องการประมาณ 25 วินาทีดังนั้นหลังจาก 20 วินาทีบริการ sapinit จะเริ่มต้นและสิ้นสุดหลังจาก 2 วินาที ดังนั้น sapinit จะเสร็จสิ้นก่อน แต่นี่ไม่ใช่จุดประสงค์ที่ฉันต้องเริ่ม sapcontrol หลังจาก sapinit เสร็จสมบูรณ์

สกรีนช็อต: systemctl status sapinit

สกรีนช็อต: sctcontrol status systemctl

เช่นเดียวกันกับคำสั่งหยุดเมื่อฉันรีบูตหรือปิดระบบ sapinit จะหยุดเกือบครั้งแรกและ sapcontrol หยุดที่ใดก็ได้ แต่ฉันต้องหยุด sapcontrol ก่อน sapinit

sapinit stopped:  + Wed Aug 1 06:56:08 UTC 2018
sapcontrol stopped:  + Wed Aug 1 06:56:28 UTC 2018

สกรีนช็อต: ปิดระบบ

ขอบคุณสำหรับเวลาและความช่วยเหลือ


1
จากผู้ใช้มือใหม่ : คุณลองเปลี่ยน$sapinitเป็นsapinitใน /etc/init.d/sapcontrol หรือไม่ ตามที่หน้านี้$ในส่วนหัวระบุชื่อสถานที่เสมือน
fixer1234

โปสเตอร์ดูเหมือนจะไม่ต้องการบอกชุมชน ฉันเดาว่านั่นเป็นปัญหา
U. Windl

ฉันลองเปลี่ยน$sapinitไปใช้sapinitแต่ก็ยังไม่ได้ผล ฉันเป็นคนใจร้อน @ U.Windl
ahdgfd

เนื่องจาก SLES12 ใช้ systemd สคริปต์ LSB จึงถูกห่อในหน่วย systemd คุณสามารถลองแทนที่เงื่อนไข "After =" (โดยใช้systemctl edit ...)
U. Windl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.