ฉันต้องการทราบว่ามีวิธีใน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ต่อไปฉันจะทำแบบทดสอบเร็ว ๆ นี้และดูว่ามีวิธีจัดการกับมันหรือไม่ จะแจ้งให้คุณทราบ