Ich verwende systemd, um 4 Dienste in sequenzieller Reihenfolge zu starten/stoppen, indem ich die Felder „Requires/After/Before/BindsTo“ verwende.
systemctl start service01
Initiiere eine solche Startreihenfolge:
Dienst01 -> Dienst02 -> Dienst03 -> Dienst04
Die Stopp-Aktion wird über BindTo auf der Seite service0[234] konfiguriert. Sie sind an service01 gebunden, so dass, wenn dieser gestoppt wird, auch andere Dienste gestoppt werden.
Aufgrund einiger Probleme muss jedoch zwischen dem Start von Service02 und Service03 eine Verzögerung von 5–10 Sekunden konfiguriert werden.
Ist es möglich, hierfür systemd zu verwenden?
Sicher, ich könnte einfach „sleep 10“ am Anfang von ExecStart in service03 hinzufügen, aber vielleicht gibt es andere Möglichkeiten, systemd hierfür zu verwenden.
Antwort1
Es gibtTimerEinheiten in systemd. Versuchen Sie, OnUnitActiveSec=
die Option zu verwenden, wenn Sie einen Timer für die Aufgabe verwenden möchten.