Provided by: manpages-de_4.23.1-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 MAINPID=$PID äquivalent. Für Details über die
           Semantik dieser Option siehe sd_notify(3).

           Falls dieser Schalter im Aufruf von 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.