Provided by: manpages-de_4.26.0-1_all bug

BEZEICHNUNG

       systemd-notify - Den Diensteverwalter über den Abschluss des Startens und andere Statusänderungen des
       Daemons benachrichtigen

ÜBERSICHT


       systemd-notify [OPTIONEN…] [VARIABLE=WERT…]

       systemd-notify [--exec] [OPTIONEN…] [VARIABLE=WERT…] [;] [BEFEHLSZEILE…]

BESCHREIBUNG

       systemd-notify kann von Dienste-Skripten zur Benachrichtigung des aufrufenden Diensteverwalters über
       Statusänderungen aufgerufen werden. Es kann zum Senden beliebiger Informationen, kodiert in einer
       umgebungsblockartigen Zeichenkettenliste, verwandt werden. Am wichtigsten ist der Einsatz zur
       Benachrichtigung über den Abschluss des Starts.

       Dies ist hauptsächlich eine Hülle um sd_notify() und stellt diese Funktionalität Shell-Skripten zur
       Verfügung. Für Details siehe sd_notify(3).

       Dieser Befehl kann eine Liste von Umgebungsvariablen transportieren, die als Teil der
       Statusaktualisierung gesandt werden sollen.

       Beachten Sie, dass Systemd den Empfang von Statusaktualisierungen aus diesem Befehl verweigern wird,
       falls nicht NotifyAccess= geeignet für die Dienste-Unit, aus der dieser Befehl aufgerufen wird, gesetzt
       ist. Siehe systemd.service(5) für Details.

       Beachten Sie, dass sd_notify()-Benachrichtigungen nur Units korrekt zugeordnet werden können, falls
       entweder der sendende Prozess noch zu dem Zeitpunkt vorhanden ist, zu dem der Diensteverwalter die
       Nachricht verarbeitet oder falls der sendende Prozess explizit vom Diensteverwalter laufzeitverfolgt ist.
       Letzteres ist der Fall, falls der Diensteverwalter den Prozess ursprünglich mit »fork« erzeugte, d.h. bei
       allen Prozessen, die auf NotifyAccess=main oder NotifyAccess=exec passen. Umgekehrt, falls ein
       Hilfsprozess einer Unit eine sd_notify()-Nachricht sendet und sich sofort beendet, könnte der
       Diensteverwalter nicht in der Lage sein, die Nachricht korrekt der Unit zuzuordnen und wird sie daher
       ignorieren, selbst falls NotifyAccess=all für sie gesetzt ist. Um dieses zu beheben, wird systemd-notify
       warten, bis alle Benachrichtigungsmeldungen durch den Diensteverwalter verarbeitet wurden. Wenn
       --no-block verwandt wird, wird diese Synchronisationen zum Empfang von Benachrichtigungen deaktiviert und
       daher kann der weiter oben erwähnte Ressourcenwettlauf stattfinden, falls der aufrufende Prozess nicht
       der Diensteverwalter ist oder von diesem erzeugt wurde.

       systemd-notify wird zuerst versuchen, sd_notify() aufzurufen und dabei vorzugeben, die PID des
       übergeordneten Prozesses von systemd-notify (d.h. des aufrufenden Prozesses) zu besitzen. Dies gelingt
       nur, wenn der Aufruf mit ausreichenden Privilegien erfolgt. Beim Fehlschlag wird er dann auf den Aufruf
       unter seiner eigenen PID zurückfallen. Dieses Verhalten ist nützlich, damit der Shell-Prozess — und nicht
       der systemd-notify-Prozess — im Falle des Aufrufs des Werkzeugs aus einem Shell-Skript als Sender der
       Nachricht erscheint, was wiederum hilfreich ist, falls der Shell-Prozess aufgrund der Einschränkungen von
       NotifyAccess=all im Hauptprozess eines Dienstes erscheint. Verwenden Sie den Schalter --pid=, um dieses
       Verhalten anzupassen.

OPTIONEN

       Die folgenden Optionen werden verstanden:

       --ready
           Informiert den aufrufenden Diensteverwalter über den Abschluss des Dienstestarts oder des Neuladens
           der Konfiguration. Dies ist zu systemd-notify READY=1 äquivalent. Für Details über die Semantik
           dieser Option siehe sd_notify(3).

       --reloading
           Informiert den aufrufenden Diensteverwalter über den Anfang eines Konfigurationsneuladezyklus. Die
           ist zu systemd-notify RELOADING=1 äquivalent (setzt aber implizit auch das für den Dienst
           Type=notify-reload benötigte Feld MONOTONIC_USEC=, siehe systemd.service(5) für Details). Für Details
           zur Semantik dieser Option siehe sd_notify(3).

           Hinzugefügt in Version 253.

       --stopping
           Informiert den aufrufenden Diensteverwalter über den Anfang der Herunterfahrphase des Dienstes. Dies
           ist zu systemd-notify STOPPING=1 äquivalent. Für Details über die Semantik dieser Option siehe
           sd_notify(3).

           Hinzugefügt in Version 253.

       --pid=
           Informiert den Diensteverwalter über die Haupt-PID des Dienstes. Akzeptiert eine PID als Argument.
           Falls das Argument als »auto« angegeben ist oder fehlt, wird die PID des systemd-notify aufrufenden
           Prozesses verwandt, außer falls dies der Diensteverwalter ist. Falls das Argument als »self«
           angegeben ist, wird die PID des Befehls systemd-notify selbst verwandt, und falls »parent« angegeben
           ist, wird die PID des aufrufenden Prozesses verwandt — selbst falls dies der Diensteverwalter selbst
           ist. --pid=auto ist zu systemd-notify --pid=$PID äquivalent. Für Details über die Semantik dieser
           Option siehe sd_notify(3).

           systemd-notify wird zuerst versuchen, sd_notify() aufzurufen und dabei vorzugeben, die mit --pid=
           angegebene PID zu besitzen. Dies gelingt nur, wenn der Aufruf mit ausreichenden Privilegien erfolgt.
           Beim Fehlschlag wird er dann auf den Aufruf unter seiner eigenen PID zurückfallen. Tatsächlich
           bedeutet dies, dass ein privilegierter Aufruf von systemd-notify --pid= mit NotifyAccess=main oder
           NotifyAccess=exec erzwungene Beschränkungen für einen Dienst umgeht.

           Falls dieser Schalter im Aufruf von einem nicht privilegierten systemd-notify aus einem Prozess, der
           der neue Hauptprozess des Dienstes werden soll – und der nicht der vom Diensteverwalter mit Fork
           erzeugte Prozess ist (oder der aktuelle Hauptprozess) – verwandt wird, dann ist es wesentlich,
           NotifyAccess=all in der Dienste-Unit-Datei zu setzen oder andernfalls wird die Benachrichtigung aus
           Sicherheitsgründen ignoriert. Siehe systemd.service(5) für Details.

       --uid=BENUTZER
           Setzt die Benutzerkennung von der die Benachrichtigung gesendet werden soll. Akzeptiert einen
           UNIX-Benutzernamen oder eine numerische UID. Wenn angegeben, wird die Benachrichtigungsmeldung mit
           der angegebenen UID als Absender gesandt, anstelle die des Benutzers, unter der es aufgerufen wurde.
           Diese Option benötigt ausreichende Privilegien, um in der Lage zu sein, die Benutzerkennung des
           Prozesses zu verändern.

           Hinzugefügt in Version 237.

       --status=
           Sendet eine formlose, menschenlesbare Statuszeichenkette für den Daemon an den Dienste-Verwalter.
           Diese Option akzeptiert die Statuszeichenkette als Argument. Dies ist zu systemd-notify STATUS=…
           äquivalent. Für Details über die Semantik dieser Option siehe sd_notify(3). Diese Information wird
           unter anderem in der Ausgabe von systemctl(1) status angezeigt.

       --booted
           Liefert 0 zurück, falls das System mit Systemd gestartet wurde, einen anderen Wert andernfalls. Falls
           diese Option übergeben wurde, wird keine Nachricht gesandt. Diese Option hat daher keinen Bezug zu
           den anderen Optionen. Für Details über die Semantik dieser Option, siehe sd_booted(3). Eine
           alternative Art, auf diesen Zustand zu prüfen, ist der Aufruf systemctl(1) mit dem Befehl
           is-system-running. Er wird »offline« zurückliefern, falls das System nicht mit Systemd gestartet
           wurde.

       --no-block
           Wartet nicht synchron auf den Abschluss der angefragten Option. Der Einsatz dieser Option wird nur
           empfohlen, wenn systemd-notify vom Diensteverwalter erzeugt wurde oder wenn der aufrufende Prozess
           direkt durch den Diensteverwalter erzeugt wurde und über genug Privilegien verfügt, um systemd-notify
           zu erlauben, die Benachrichtigungen an seiner Stelle zu senden. Das Senden von Benachrichtigungen mit
           dieser Option ist in allen anderen Fällen anfällig für Ressourcenwettläufe.

           Hinzugefügt in Version 246.

       --exec
           Falls angegeben wird systemd-notify eine andere Befehlszeile ausführen, nachdem es seine Aktion
           abgeschlossen hat, und seinen eigenen Prozess ersetzen. Falls verwandt, muss die Liste der
           Zuweisungen, die in der versandten Meldung aufgenommen werden soll, von einem Zeichen »;« gefolgt
           werden (als getrenntes Argument), gefolgt von der auszuführenden Befehlszeile. Dies erlaubt das
           »Verketten« von Befehlen, d.h. dem Ausgeben einer Aktionen mit sofort folgender zweiten, ohne die PID
           zu verändern.

           Beachten Sie, dass viele Shells »;« als ihr eigenes Trennzeichen für Befehlszeilen interpretieren,
           daher muss das Semikolon normalerweise als »\;« maskiert werden, wenn systemd-notify von der Shell
           aufgerufen wird.

           Hinzugefügt in Version 254.

       --fd=
           Sendet zusammen mit der Benachrichtigungsmeldung einen Dateideskriptor. Dies ist in Diensten
           nützlich, bei denen die Einstellung FileDescriptorStoreMax= aktiviert ist; siehe systemd.service(5)
           zu Details. Der angegebene Dateideskriptor muss beim Aufruf an systemd-notify übergeben werden. Diese
           Option kann mehrfach verwandt werden, um mehrere Dateideskriptoren in einer einzelnen
           Benachrichtigungsmeldung zu übergeben.

           Um diese Funktionalität von einer bash(1)-Shell zu verwenden, nutzen Sie einen Ausdruck der folgenden
           Art:

               systemd-notify --fd=4 --fd=5 4</eine/Datei 5</eine/andere/Datei

           Hinzugefügt in Version 254.

       --fdname=
           Setzt einen Namen, der einem mittels --fd= übergebenen Dateideskriptor zugewiesen werden soll (siehe
           oben). Dies steuert das Feld »FDNAME«. Diese Einstellung darf nur einmal angegeben werden und gilt
           für alle übergebenen Dateideskriptoren. Rufen Sie dieses Werkzeug mehrfach auf, falls mehrere
           Dateideskriptoren mit verschiedenen Dateideskriptorennamen eingereicht werden sollen.

           Hinzugefügt in Version 254.

       -h, --help
           Zeigt einen kurzen Hilfetext an und beendet das Programm.

       --version
           Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

EXIT-STATUS

       Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

BEISPIEL

       Example 1. Startbenachrichtigungen und Statusaktualisierungen

       Ein einfacher Shell-Daemon, der Startbenachrichtigungen versendet, nachdem er einen Kommunikationskanal
       eingerichtet hat. Während der Laufzeit sendet er weitere Statusaktualisierungen an das Init-System:

           #!/bin/sh

           mkfifo /tmp/waldo
           systemd-notify --ready --status="Warte auf Daten…"

           while : ; do
                   read -r a < /tmp/waldo
                   systemd-notify --status="Verarbeite $a"

                   # Mache etwas mit $a …

                   systemd-notify --status="Warten auf Daten…"
           done

SIEHE AUCH

       systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), sd_notify(3), sd_booted(3)

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

systemd 257.3                                                                                  SYSTEMD-NOTIFY(1)