Provided by: manpages-de_4.13-4_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…]

BESCHREIBUNG

       systemd-notify kann von Daemon-Skripten zur Benachrichtigung des Init-Systems ü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= für die Dienste-Unit, aus der dieser Befehl aufgerufen wird, gesetzt ist.

       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 PID 1 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. Wenn --no-block verwandt wird, werden alle 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.

       Daher wird systemd-notify erst versuchen, sd_notify() aufzurufen und dabei vorzugeben, die PID 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 das Init-System über den Abschluss des Startens von Diensten. Dies ist zu systemd-notify
           READY=1 äquivalent. Für Details über die Semantik dieser Option siehe sd_notify(3).

       --pid=
           Informiert den Diensteverwalter über die Haupt-PID des Daemons. 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. Dies ist zu systemd-notify MAINPID=$PID äquivalent. Für Details über die Semantik dieser Option
           siehe sd_notify(3).

       --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.

       --status=
           Sendet eine formlose Statuszeichenkette für den Daemon an das Init-System. 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).

       --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.

       -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), 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 250                                                                                    SYSTEMD-NOTIFY(1)