Symptome und Geltungsbereich
- Die Unit bleibt während des Startintervalls auf activating.
- systemd beendet sie am Zeitlimit, obwohl ihr Prozess existiert.
Betroffene Umgebung
systemd-Dienste mit Type=notify oder notify-reload; die Anwendung muss Bereitschaftsmeldungen unterstützen.
Erkennbare Meldungen (synthetische Beispiele)
systemd[1]: example.service: start operation timed out. Terminating.Auch andere Diensttypen erzeugen dies; prüfe Type=notify vor Änderungen am Bereitschaftsprotokoll.
Mögliche Ursachen
Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.
- READY=1 kann fehlen oder von einem durch NotifyAccess ausgeschlossenen Prozess stammen.
- Eine Migration, blockierte Abfrage oder fehlende Abhängigkeit kann den tatsächlichen Startabschluss verhindern.
Sicher prüfen
Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.
Prüfschritt 1
Ersetze den Unit-Namen; es wird kein Zustandswechsel angefordert.
systemctl show example.service -p Type -p NotifyAccess -p TimeoutStartUSec -p MainPID -p SubStateErgebnis einordnen: Type=notify wartet auf Bereitschaft. NotifyAccess=main akzeptiert den Hauptprozess; Wrapper und Kindprozesse können die Zuordnung verändern.
Prüfschritt 2
Lies das Journal der betroffenen Unit; administrative Leserechte können nötig sein.
journalctl -b -u example.service -o short-monotonic --no-pager -n 100Ergebnis einordnen: Vergleiche Fortschritt und Zeitlimit. Eine antwortende Anwendung ohne Meldung unterscheidet sich von einer blockierten Migration.
Nächste Schritte nach Befund
Den unterstützten Diensttyp verwenden
Wenn die Anwendung notify nicht unterstützt, nutze ihren dokumentierten Diensttyp, etwa exec für ein Vordergrundprogramm, sofern unterstützt. Bei notify korrigiere Wrapper oder Absenderzuordnung.
Vorsicht: Ohne notify entfällt die Bereitschaftsgarantie für abhängige Units. Melde Bereitschaft nie vor Abschluss der Initialisierung.
Wiederherstellung / Rücknahme: Stelle Type und NotifyAccess wieder her, lade die Definition neu und starte bei zulässiger Unterbrechung.
Hat dir dieser Hinweis geholfen?
Gemessene Initialisierung berücksichtigen
Wenn der Start voranschreitet, aber länger als das endliche Limit dauert, wähle ein passendes TimeoutStartSec oder unterstützte EXTEND_TIMEOUT_USEC-Meldungen. Behebe blockierte Voraussetzungen zuerst.
Vorsicht: Mehr Startzeit kann Boot und Deployments verzögern. Sie behebt keinen dauerhaften Hänger.
Wiederherstellung / Rücknahme: Stelle früheres Zeitlimit und Anwendungskonfiguration wieder her; vergleiche einen weiteren Start mit der gespeicherten Zeitfolge.
Hat dir dieser Hinweis geholfen?
Quellen und Prüfung
Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.
- systemd.service — upstream manual hosted by Debian (Projekt- oder Distributionsdokumentation)
- sd_notify — upstream readiness protocol (Projekt- oder Distributionsdokumentation)