Systemd: Die Abhängigkeit „RequiredBy“ wird auch bei einem Fehler ausgelöst

Systemd: Die Abhängigkeit „RequiredBy“ wird auch bei einem Fehler ausgelöst

Ich habe zwei systemd-Dienste test-dl.service test-db.service, die nur dann in einer sequenziellen Reihenfolge ausgeführt werden müssen, wenn der erste Dienst erfolgreich ist.

Ich benutze

  • die AfterMöglichkeit, eine Reihenfolge zwischen den beiden Diensten festzulegen.
  • die RequiredByOption, den DB-Dienst auszulösen, wenn der DL-Dienst erfolgreich ist.

In der RequiredBy/Requires-Dokumentation heißt es: „Wenn diese Einheit aktiviert wird, werden auch die aufgelisteten Einheiten aktiviert. Wenn die Aktivierung einer der anderen Einheiten fehlschlägt und eine Sortierabhängigkeit After= für die fehlerhafte Einheit festgelegt ist, wird diese Einheit nicht gestartet.“

Ich beobachte jedoch, dass der zweite Dienst gestartet wird, auch wenn der erste Dienst fehlschlägt.

Mein Codeausschnitt mit dem, test-dl.serviceder fehlschlägt und dem, test-db.serviceder unerwartet ausgelöst wird.

test-dl.service

[Unit]
Description=The downloader.
After=network-online.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'sleep 10 ; exit 5'

test-db.service

[Unit]
Description=The parser.
After=test-dl.service

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'exit 0'

[Install]
RequiredBy=test-dl.service

Ich danke Ihnen für Ihre Hilfe

verwandte Informationen