Wie konfiguriere ich systemd-Dienste zum Starten / Stoppen von Prozessen mit vordefinierter Reihenfolge und Timeouts zwischen ihren Starts?

441
neOn

Ich benutze systemd, um 4 Dienste in sequentieller Reihenfolge zu starten / stoppen, indem ich die Felder Requires / After / Before / BindsTo verwende.

systemctl start service01 Initiieren Sie eine solche Startreihenfolge:

service01 -> service02 -> service03 -> service04

Die Stop-Aktion wird über BindTo auf Seite Service0 [234] konfiguriert. Sie sind an service01 gebunden, falls andere Dienste angehalten werden, werden auch andere Dienste angehalten.

Aufgrund einiger Probleme sollte eine Verzögerung von 5-10 Sekunden zwischen dem Start von service02 und service03 konfiguriert werden.

Kann systemd dafür verwendet werden?

Sicher, ich könnte einfach "sleep 10" am Anfang von ExecStart in service03 hinzufügen, aber vielleicht gibt es andere Möglichkeiten, systemd dafür zu verwenden.

0

1 Antwort auf die Frage

0
atype

Es gibt Timer- Einheiten in Systemd. Versuchen Sie es mit der OnUnitActiveSec=Option, wenn Sie einen Timer für die Aufgabe verwenden möchten.