dwww Home | Manual pages | Find package

start-stop-daemon(8)              dpkg suite              start-stop-daemon(8)

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.

           Diese Option könnte auf einigen Systemen, auf denen POSIX-
           Prozessauftragsplanung (Scheduling) nicht unterstützt wird, nichts
           durchführen.

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

           Diese Option könnte auf einigen Systemen, auf denen Linux-EA-
           Auftragsplanung (Scheduling) nicht unterstützt wird, nichts
           durchführen.

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

1.21.22                           2023-05-11              start-stop-daemon(8)

Generated by dwww version 1.15 on Sat Jun 29 01:54:34 CEST 2024.