ฉันต้องการทราบว่ามีวิธีในSystemd
การรีสตาร์ทA.service
( After
) เมื่อB.service
เริ่มต้นหรือโหลดใหม่ (โหลดการกำหนดค่าใหม่เท่านั้น) หากเป็นไปได้โดยไม่ต้องแก้ไขB.service
ซึ่งติดตั้งและอัปเกรดโดยระบบ
A.service
ควรเริ่มต้นแม้ว่าB.service
จะไม่ได้ติดตั้งปิดใช้งานหรือหยุด
A.service
:
[Unit]
After = B.service network-online.target
Wants = B.service
[Service]
Type=oneshot
ExecStart = /script.sh start
ExecStop = /script.sh stop
RemainAfterExit=yes
[Install]
WantedBy = network-online.target
B.service
:
[Unit]
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/cmd start
ExecStop=/cmd stop
ExecReload=/cmd reload
PIDFile=/var/run/cmd.pid
[Install]
WantedBy=multi-user.target
Overriding vendor settings
แต่สิ่งนี้ดูง่ายขึ้นและดีขึ้นสัญญาเท่านั้นที่ฉันไม่ต้องการA
หยุดถ้าB
หยุดA.restart
ถ้าB.start
ต่อไปฉันจะทำแบบทดสอบเร็ว ๆ นี้และดูว่ามีวิธีจัดการกับมันหรือไม่ จะแจ้งให้คุณทราบ