Provided by: dpkg_1.21.9ubuntu1_amd64 bug

BEZEICHNUNG

       start-stop-daemon - startet und stoppt System-Daemon-Programme

ÜBERSICHT

       start-stop-daemon [Option …] Befehl

BESCHREIBUNG

       start-stop-daemon wird zur Steuerung der Erzeugung und Beendigung von Prozessen auf
       Systemebene verwendet. Durch die Verwendung einer der Abgleich-Optionen kann start-stop-
       daemon so konfiguriert werden, dass er existierende Instanzen von einem laufenden Prozess
       finden kann.

       Hinweis: Falls --pid oder --pidfile nicht angegeben ist, verhält sich start-stop-daemon
       ähnlich zu killall(1). start-stop-daemon wird die Prozesstabelle nach Prozessen
       durchsuchen, die auf den Prozessnamen, die Eltern-PID, UID und/oder GID (falls angegeben)
       passen. Jeder passende Prozess wird --start daran hindern, den Daemon zu starten. Allen
       passenden Prozessen wird das TERM-Signal (oder das mit --signal oder --retry angegebene)
       geschickt, falls --stop angegeben ist. Für Daemons, die langlebige Kinder haben, die ein
       --stop überleben müssen, müssen Sie eine PID-Datei angeben.

BEFEHLE

       -S, --start [--] Argumente
           Prüft auf Existenz eines angegebenen Prozesses. Falls ein solcher Prozess existiert,
           führt start-stop-daemon nichts aus und beendet sich mit Fehlerstatus 1 (0, falls
           --oknodo angegeben wurde). Falls ein solcher Prozess nicht existiert, dann startet es
           eine Instanz, entweder unter Verwendung des ausführbaren Programms, das mittels --exec
           (oder, falls angegeben, mittels --startas) spezifiziert wurde. Jedes weitere auf der
           Befehlszeile nach -- angegebene Argument wird unverändert an das zu startende Programm
           weitergegeben.

       -K, --stop
           Prüft auf die Existenz eines angegebenen Prozesses. Falls ein solcher Prozess
           existiert, dann sendet start-stop-daemon das durch --signal angegebene Signal und
           beendet sich mit Fehlerstatus 0. Falls kein solcher Prozess existiert, dann beendet
           sich start-stop-daemon mit Fehlerstatus 1 (0 falls --oknodo angegeben ist). Falls
           --retry angegeben wurde, wird start-stop-daemon überprüfen, ob der/die Prozess(e)
           beendet wurden.

       -T, --status
           Prüft auf die Existenz eines bestimmten Prozesses und liefert den Exit-Status-Code
           entsprechend der „LSB Init Script Actions“ zurück (seit Version 1.16.1).

       -H, --help
           Gibt eine Meldung zur Verwendung aus und beendet das Programm.

       -V, --version
           Zeigt die Programmversion und beendet sich.

OPTIONEN

   Abgleichoptionen
       --pid PID
           Prüft auf einen Prozess mit der angegebenen PID (seit Version 1.17.6). Die PID muss
           eine Zahl größer Null sein.

       --ppid PPID
           Prüft auf einen Prozess mit der angegebenen Eltern-PID PPID (seit Version 1.17.7). Die
           PPID muss eine Zahl größer Null sein.

       -p, --pidfile PID-Datei
           Prüft, ob ein Prozess die Datei PID-Datei angelegt hat.

           Hinweis: Wird diese Abgleichoption alleine verwandt, könnte auf nicht geplante
           Prozesse eingewirkt werden, falls der alte Prozess beendet wurde, ohne dass er PID-
           Datei entfernen konnte.

           Warnung: Wird diese Abgleichoption mit einer durch alle Benutzer schreibbare PID-Datei
           oder alleine mit einem Daemon, der als nicht privilegierter Benutzer (d.h. nicht als
           root) in eine PID-Datei schreibt, verwandt, dann wird dies mit einem Fehler abgelehnt
           (seit Version 1.19.3), da dies ein Sicherheitsrisiko darstellt, da entweder jeder
           Benutzer hineinschreiben kann oder, falls der Daemon kompromittiert wird, dem Inhalt
           der PID-Datei nicht vertraut werden kann und dann ein privilegierter Ausführer (wie
           ein als Root ausgeführtes Init-Skript) am Ende auf jeden Systemprozess agieren würde.
           Die Verwendung von /dev/null ist von diesen Prüfungen ausgenommen.

       -x, --exec Programm
           Überprüft auf Prozesse, die Instanzen von diesem Programm sind. Das Argument Programm
           sollte ein absoluter Pfadname sein.

           Hinweis: Dies könnte bei interpretierten Skripten nicht wie geplant funktionieren, da
           das Programm auf den Interpreter zeigt. Berücksichtigen Sie, dass dies auch auf
           Prozesse, die innerhalb einer Chroot laufen, passen könnte, daher könnten andere
           Abgleichrestriktionen benötigt werden.

       -n, --name Prozessname
           Überprüft auf Prozesse mit dem Namen Prozessname. Der Prozessname ist normalerweise
           der Dateiname des Prozesses, er könnte aber vom Prozess selbst geändert worden sein.

           Hinweis: Auf den meisten Systemen wird diese Information aus dem „comm“-Namen des
           Prozesses aus dem Kernel ausgelesen. Dessen Länge ist typischerweise sehr begrenzt
           (mehr als 15 Zeichen anzunehmen ist nicht portabel).

       -u, --user Benutzername|uid
           Überprüft auf Prozesse, die dem mit Benutzername oder uid spezifizierten Benutzer
           gehören.

           Hinweis: Wird diese Abgleichoption alleine verwandt, wird auf alle Prozesse, die auf
           den Benutzer passen, eingewirkt.

   Allgemeine Optionen:
       -g, --group Gruppe|gid
           Wechselt zum Starten des Prozesses zur Gruppe oder gid.

       -s, --signal Signal
           Mit --stop wird das an den zu beendenden Prozess zu sendende Signal spezifiziert
           (standardmäßig TERM).

       -R, --retry Zeitüberschreitung|Plan
           Mit --stop spezifiziert, dass start-stop-daemon überprüfen soll, ob der Prozess (die
           Prozesse) sich beenden. Es überprüft wiederholt, ob passende Prozesse laufen, bis dies
           nicht mehr der Fall ist. Falls sich die Prozesse nicht beenden, werden weitere im
           „Plan“ angegebene Aktionen durchgeführt.

           Falls Zeitüberschreitung anstelle von Plan spezifiziert wird, dann wird der Plan
           Signal/Zeitüberschreitung/KILL/Zeitüberschreitung verwendet, wobei Signal das mit
           --signal spezifizierte Signal ist.

           Plan ist eine Liste von mindestens zwei durch Schrägstriche (/) getrennten Punkten;
           jeder Punkt kann aus -Signalnummer oder [-]Signalname bestehen, was bedeutet, dass
           dieses Signal gesendet werden soll, oder aus Zeitüberschreitung, was bedeutet, dass so
           viele Sekunden auf das Beenden von Prozessen gewartet werden soll, oder aus forever,
           was bedeutet, den Rest des Plans falls notwendig für immer zu wiederholen.

           Falls das Ende des Plans erreicht wird und forever nicht spezifiziert wurde, dann
           beendet sich der start-stop-daemon mit dem Fehlerstatus 2. Falls ein Plan spezifiziert
           wurde, dann wird jedes mit --signal spezifizierte Signal ignoriert.

       -a, --startas Pfadname
           Mit --start wird der über Pfadname spezifizierte Prozess gestartet. Falls nicht
           angegeben, werden standardmäßig die an --exec übergebenen Argumente verwendet.

       -t, --test
           Gibt die Aktionen aus, die erledigt würden und setzt die entsprechenden Rückgabewerte,
           führt aber keine Aktionen durch.

       -o, --oknodo
           Liefert den Rückgabewert 0 anstatt 1, falls keine Aktionen ausgeführt wurden (würden).

       -q, --quiet
           Gibt keine informativen Meldungen aus, zeigt nur Fehlermeldungen an.

       -c ,  --chuid Benutzername|uid[:Gruppe|gid]
           Wechselt vor dem Start des Prozesses zu diesem Benutzername/uid. Sie können durch
           Anhängen von : auch die Gruppe spezifizieren, in diesem Fall wird die Gruppe oder gid
           wie bei dem Befehl chown(1) (Benutzer:Gruppe) angegeben. Falls ein Benutzer ohne
           Gruppe angegeben ist, wird die primäre GID für diesen Benutzer verwandt. Wenn Sie
           diese Option verwenden, müssen Sie daran denken, dass die primäre und zusätzliche
           Gruppen auch gesetzt werden, selbst wenn die Option --group nicht angegeben wird. Die
           Option --group ist nur für Gruppen, in denen der Benutzer normalerweise kein Mitglied
           ist (wie das Hinzufügen von pro-Prozess Gruppenmitgliedschaften für generische
           Benutzer wie nobody).

       -r, --chroot Wurzel
           Wechselt das Verzeichnis vor dem Start des Prozesses zu Wurzel und ruft chroot auf.
           Bitte beachten Sie, dass die PID-Datei auch nach dem Aufruf von chroot geschrieben
           wird.

       -d, --chdir Pfad
           Wechselt vor dem Starten des Prozesses zum Verzeichnis Pfad. Dies wird, falls die
           -r|--chroot Option gesetzt ist, nach dem Aufruf von chroot durchgeführt. Falls nicht
           angegeben, wird start-stop-daemon vor dem Prozess-Start in das Wurzelverzeichnis
           wechseln.

       -b, --background
           Wird typischerweise für Programme verwandt, die sich nicht selbständig ablösen. Diese
           Option zwingt start-stop-daemon, vor dem Start des Prozesses einen Fork durchzuführen,
           und zwingt diesen dann in den Hintergrund.

           Warnung: start-stop-daemon kann nicht den Rückgabewert überprüfen, falls der Prozess
           aus irgendeinem Grund nicht startet. Dies ist ein letztes Mittel und ist nur für
           Programme gedacht, bei denen das selbstständige Forken keinen Sinn ergibt oder wo es
           nicht sinnvoll ist, den Code hierfür hinzuzufügen.

       --notify-await
           Wartet, dass der Hintergrundprozess eine Bereitschaftsbenachrichtigung sendet, bevor
           der Dienst als gestartet betrachtet wird (seit Version 1.19.3). Dies implementiert
           Teile des Bereitschaftsprotokolls von Systemd, wie es in der Handbuchseite
           sd_notify(3) festgelegt ist. Die folgenden Variablen werden unterstützt:

           READY=1
               Das Programm ist bereit, den Dienst zu leisten, daher kann sicher beendet werden.

           EXTEND_TIMEOUT_USEC=Anzahl
               Das Programm erbittet die Verlängerung der Zeitüberschreitung um Anzahl
               Mikrosekunden. Dies wird die aktuelle Zeitüberschreitung auf den festgelegten Wert
               zurücksetzen.

           ERRNO=Nummer
               Das Programm beendete sich mit einem Fehler. Macht das gleiche und gibt die
               benutzerfreundliche Zeichenkette für den Wert von errno aus.

       --notify-timeout Zeitüberschreitung
           Setzt eine Zeitüberschreitung für die Option --notify-await (seit Version 1.19.3).
           Wenn die Zeitüberschreitung erreicht wird, wird sich start-stop-daemon mit einem
           Fehler-Code beenden und es wird auf keine Bereitschaftsbenachrichtigung gewartet. Die
           Vorgabe ist 60 Sekunden.

       -C, --no-close
           Keinen Dateideskriptor schließen, wenn ein Daemon in den Hintergrund gezwungen wird
           (seit Version 1.16.5). Dies wird zu Fehlersuchzwecken angewandt oder um
           Dateideskriptoren zur Protokollierung der Prozessausgabe umzuleiten. Nur relevant bei
           der Verwendung von --background.

       -O, --output Pfadname
           Leitet stdout und stderr auf Pfadname um, wenn der Daemon in den Hintergrund gezwungen
           wird (seit Version 1.20.6). Nur relevant bei Einsatz von --background.

       -N, --nicelevel Ganzzahl
           Dies ändert die Priorität des Prozesses, bevor er gestartet wird.

       -P, --procsched Strategie:Priorität
           Dies ändert die Prozesssteuerstrategie („process scheduler policy“) und die Priorität
           des Prozesses, bevor dieser gestartet wird (seit Version 1.15.0). Die Priorität kann
           optional festgelegt werden, indem ein : gefolgt von einem Wert angegeben wird. Die
           Standard-Priorität beträgt 0. Die derzeit unterstützten Werte für die Strategie lauten
           other, fifo und rr.

       -I, --iosched Klasse:Priorität
           Dies ändert die EA-Steuerklasse („IO scheduler class“) und die Priorität des
           Prozesses, bevor dieser gestartet wird (seit Version 1.15.0). Die Priorität kann
           optional festgelegt werden, indem ein : gefolgt von einem Wert angegeben wird. Die
           Standard-Priorität beträgt 4, außer Klasse lautet idle, dann beträgt sie immer 7. Die
           derzeit unterstützten Werte für die Klasse lauten idle, best-effort und real-time.

       -k, --umask Maske
           Dies setzt die umask des Prozesses, bevor er gestartet wird (seit Version 1.13.22).

       -m, --make-pidfile
           Wird verwandt, wenn ein Programm gestartet wird, das keine eigene PID-Datei anlegt.
           Diese Option sorgt dafür, dass start-stop-daemon die mit --pidfile referenzierte Datei
           anlegt und die PID kurz vor der Ausführung des Prozesses hineinlegt. Beachten Sie,
           dass die Datei beim Anhalten des Programms nur entfernt wird, falls --remove-pidfile
           verwandt wird.

           Hinweis: Diese Funktion könnte in nicht allen Fällen funktionieren. Insbesondere wenn
           das auszuführende Programm sich vom Hauptprozess forkt. Deshalb ist diese Option
           normalerweise nur in Kombination mit der Option --background sinnvoll.

       --remove-pidfile
           Wird verwandt, wenn ein Programm gestoppt wird, das seine PID-Datei nicht entfernt
           (seit Version 1.17.19). Diese Option führt dazu, dass start-stop-daemon die durch
           --pidfile referenzierte Datei nach der Beendigung des Prozesses entfernt.

       -v, --verbose
           Gibt ausführliche informative Meldungen aus.

RÜCKGABEWERT

       0   Die angeforderte Aktion wurde durchgeführt. Falls --oknodo angegeben wurde, kann es
           auch sein, dass nichts durchgeführt wurde. Das kann passieren, wenn --start angegeben
           wurde und der passende Prozess bereits lief oder wenn --stop angegeben wurde und es
           keinen passenden Prozess gab.

       1   Falls --oknodo nicht angegeben war und nichts durchgeführt wurde.

       2   Falls --stop und --retry angegeben waren, aber das Ende des Plans erreicht wurde und
           die Prozesse noch liefen.

       3   Jeder andere Fehler.

       Bei der Verwendung des Befehls --status werden die folgenden Statuscodes zurückgeliefert:

       0   Programm läuft.

       1   Programm läuft nicht und die PID-Datei existiert.

       3   Programm läuft nicht.

       4   Programmstatus kann nicht bestimmt werden.

BEISPIEL

       Den Daemon food starten, falls noch keiner läuft (ein Prozess mit Namen food, der als
       Benutzer food mit PID in food.pid läuft):

        start-stop-daemon --start --oknodo --user food --name food \
               --pidfile /run/food.pid --startas /usr/sbin/food \
               --chuid food -- --daemon

       SIGTERM an food schicken und bis zu fünf Sekunden auf sein Beenden warten:

        start-stop-daemon --stop --oknodo --user food --name food \
               --pidfile /run/food.pid --retry 5

       Vorführung eines angepassten Plans zum Beenden von food:

        start-stop-daemon --stop --oknodo --user food --name food \
               --pidfile /run/food.pid --retry=TERM/30/KILL/5

ÜBERSETZUNG

       Die deutsche Übersetzung wurde 2004, 2006-2022 von Helge Kreutzmann
       <debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und 2008 von Sven
       Joachim <svenjoac@gmx.de> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen
       Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt
       KEINE HAFTUNG.