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üfe 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
- Überprüft auf die Existenz eines speziellen 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
- Überprüft auf die Existenz eines bestimmten Prozesses und
liefert den Exit-Status-Code entsprechend der »LSB Init Script
Actions« zurück.
- -H, --help
- Zeige Bedienungsinformationen und beendet sich.
- -V, --version
- Zeige die Programmversion und beendet sich.
OPTIONEN¶
Abgleichoptionen¶
- --pid PID
- Prüfe auf einen Prozess mit der angegebenen PID. Die
PID muss eine Zahl größer Null sein.
- --ppid PPID
- Prüfe auf einen Prozess mit der angegebenen PPID
(Eltern-PID). Die PPID muss eine Zahl größer Null
sein.
- -p, --pidfile pid-Datei
- Prüfe, ob ein Prozess pid-Datei erstellt 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.
- -x, --exec Programm
- Überprüfe 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üfe 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. Dieser
hat typischerweise eine recht kurze Längenbegrenzung (mehr als 15
Zeichen anzunehmen ist nicht portabel).
- -u, --user Benutzername|uid
- Überprüfe 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
- Wechsle 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 soviele 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
- Gebe die Aktionen aus, die erledigt würden und setze die
entsprechenden Rückgabewerte, führe aber keine Aktionen
durch.
- -o, --oknodo
- Liefert den Rückgabewert 0 anstatt 1 falls keine Aktionen
ausgeführt wurden (würden).
- -q, --quiet
- Gebe keine informativen Meldungen aus, zeige nur Fehlermeldungen an.
- -c , --chuid
Benutzername|uid[:Gruppe| gid]
- Wechsele 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
»chown«-Befehl ( 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
- Chdir und chroot vor dem Start des Prozesse zu Wurzel. Bitte
beachten Sie, dass die PID-Datei auch nach dem chroot geschrieben
wird.
- -d, --chdir Pfad
- Chdir vor dem Starten des Prozesses zu Pfad. Dies wird, falls die
-r|--chroot Option gesetzt ist, nach dem chroot
durchgeführt. Falls nicht angegeben, wird start-stop-daemon
vor dem Prozess-Start in das Wurzelverzeichnis wechseln.
- -b, --background
- Typischerweise verwendet für Programme, 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.
- -C, --no-close
- Keinen Dateideskriptor schließen, wenn ein Daemon in den
Hintergrund gezwungen wird. Dies wird zu Fehlersuchzwecken angewandt oder
um Dateideskriptoren zur Protokollierung der Prozessausgabe umzuleiten.
Nur relevant bei der Verwendung 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. 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 IO-Steuerklasse (»IO scheduler
class«) und die Priorität des Prozesses, bevor dieser
gestartet wird. 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.
- -m, --make-pidfile
- Verwendet, 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 Prozesse 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. 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 nicht 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¶
Starte den Daemon
food 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
Schicke
SIGTERM an
food und warte bis zu fünf Sekunden auf
sein Beenden:
-
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-2016 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.