NOM¶
start-stop-daemon - lance ou arrête des démons système
SYNOPSIS¶
start-stop-daemon [
option...]
commande
DESCRIPTION¶
On se sert de
start-stop-daemon pour contrôler la création
ou l'arrêt de processus système. En utilisant les options
correspondantes,
start-stop-daemon peut être configuré
pour trouver les exemplaires présents d'un processus en fonctionnement.
Veuillez noter qu'à moins d'utiliser
--pid ou
--pidfile, le
programme
start-stop-daemon se comporte comme
killall(1).
start-stop-daemon recherche dans le tableau des processus tout
processus qui correspond au nom, pid parent, uid et/ou gid du processus (si
indiqué). Toute correspondance empêchera
--start de
démarrer le démon. Tous les processus qui correspondent
recevront le signal TERM (ou le signal indiqué par
--signal ou
--retry) si
--stop est indiqué. Pour les démons
avec des processus enfant qui doivent survivre à un
--stop, il
est nécessaire d'indiquer un fichier pid
(« pidfile »).
COMMANDES¶
- -S, --start [--] paramètres
- Vérifier l'existence d'un processus particulier. Quand il existe un
tel processus, start-stop-daemon ne fait rien et se termine avec un
code d'erreur égal à 1 (0 si --oknodo est
précisé). Quand un tel processus n'existe pas, un exemplaire
de l'exécutable est lancé, en utilisant le paramètre
de --exec ou celui de --startas si cette option est
précisée. Tout argument donné après --
sur la ligne de commande est passé tel quel au programme qui doit
être lancé.
- -K, --stop
- Vérifier aussi l'existence d'un processus particulier. Quand un tel
processus existe, start-stop-daemon lui envoie le signal
précisé avec --signal et se termine avec un code
d'erreur égal à 0. Quand un tel processus n'existe pas,
start-stop-daemon se termine avec un code d'erreur égal
à 1 (0 si --oknodo est précisé). Si
--retry est indiquée, start-stop-daemon recherche si
le processus ou les processus se sont bien terminés.
- -T, --status
- Contrôle l'existence du processus indiqué et sort avec un
code de sortie défini par les actions des scripts d'initialisation
de la LSB (« LSB Init Script Actions »).
- -H, --help
- Affiche un message d'aide, puis quitte.
- -V, --version
- Affiche la version du programme, puis quitte.
OPTIONS¶
Options de correspondance¶
- [--pid] pid
- Vérifie l'existence d'un processus avec le pid
spécifié. Le pid doit avoir un numéro
supérieur à 0.
- [--ppid] pid parent
- Vérifie l'existence d'un processus avec le ppid
spécifié (pid parent). Le ppid doit avoir un
numéro supérieur à 0.
- -p, --pidfile pid-file
- Contrôle si un processus a créé le fichier
fichier-pid. Note : l'utilisation de l'option de
correspondance seule peut provoquer des actions sur des processus non
prévus, si l'ancien processus s'est terminé dans savoir
retiré le fichier-pid.
- -x, --exec exécutable
- Contrôle l'existence de processus qui soient des exemplaires de cet
exécutable. Le paramètre exécutable
doit être un chemin absolu. Note : cela peut ne pas
fonctionner avec des scripts interprétés, car
l'exécutable sera alors l'interpréteur. Des processus en
exécution au sein d'un environnement fermé
d'exécution (« chroot ») seront
également trouvés et il peut donc être
nécessaire d'ajouter d'autres restrictions de correspondance.
- -n, --name nom-de-processus
- Contrôle l'existence de processus avec nom-de-processus
comme nom. Le nom-de-processus est en général le nom
du fichier du processus, mais peut avoir été modifié
par le processus lui-même. Note : sur la plupart des
systèmes, cette information est récupérée par
le nom de communication du noyau, ce qui induit une limite de longueur
assez courte (la portabilité impose de ne pas supposer plus de 15
caractères).
- -u, --user identifiant|uid
- Contrôle l'existence de processus dont le propriétaire est
identifiant ou uid. Note : si cette option est
utilisée seule, tous les processus de cet utilisateur seront
concernés par l'action.
Options génériques¶
- -g, --group groupe|gid
- Modifie le groupe ou le gid au début du
processus.
- -s, --signal signal
- L'action --stop définit le signal à envoyer au
processus qui doit être arrêté (par
défaut : TERM).
- -R, --retry
durée|action-prévue
- Avec l'action --stop, start-stop-daemon doit vérifier
que les processus se sont terminés. Il le fait pour tous les
processus correspondants qui tournent, jusqu'à ce qu'il n'y en ait
plus. Quand le processus ne se termine pas, il prend d'autres mesures
déterminées par l' action-prévue.
Si durée est indiquée plutôt que
action-prévue, l'action-prévue
signal/durée/KILL/durée
est utilisée, où signal est le signal indiqué
par --signal.
action-prévue est une liste d'au moins deux items
séparés par des barres obliques ( /) ; chaque
item peut être de la forme -signal-numéro ou
de la forme [ -]signal-nom, ce qui demande d'envoyer ce
signal ; ou bien de la forme durée, ce qui demande
d'attendre tant de secondes avant de terminer les processus, ou bien de la
forme forever, ce qui demande de répéter constamment
le reste de action-prévue, si nécessaire.
Quand la fin de l'action-prévue est atteinte et que forever
n'a pas été précisé, start-stop-daemon
se termine avec un code d'erreur égal à 2. Quand une
action-prévue est indiquée, tout signal donné par
--signal est ignoré.
- -a, --startas nom-de-chemin
- Avec l'action --start, lance le processus spécifié
par nom-de-chemin. Si rien n'est précisé, c'est par
défaut l'argument donné à --exec.
- -t, --test
- Affiche les actions qui seraient entreprises et détermine la bonne
valeur de retour, mais ne fait rien.
- -o, --oknodo
- Retourne un code de sortie égal à 0 au lieu de 1 si rien
n'est ou ne sera fait.
- -q, --quiet
- N'affiche pas de messages d'information ; affiche seulement les
messages d'erreur.
- -c, --chuid
identifiant|uid[:groupe| gid]
- Change pour cet utilisateur ou « uid » avant
de lancer le processus. On peut aussi préciser un groupe en
ajoutant un :, puis le groupe ou un
« gid » de la même façon qu'avec
la commande « chown » (
utilisateur: groupe). Lorsqu'un utilisateur est
indiqué mais pas de groupe alors le groupe primaire de celui-ci est
utilisé. Quand on utilise cette option, on doit veiller à ce
que les groupes primaires ainsi que les groupes secondaires existent bien,
même si l'option --group n'est pas spécifiée.
L'option --group sert seulement pour les groupes dont l'utilisateur
n'est pas membre (c'est comme rendre membre d'un groupe-pour-processus des
utilisateurs génériques comme nobody).
- -r, --chroot root
- Change de répertoire racine pour root avant de lancer le
processus. Remarquez que le « pidfile » est
aussi écrit après le changement de racine.
- -d, --chdir chemin
- Change de répertoire pour chemin avant de commencer le
processus. Cela est fait après le changement de répertoire
racine si l'option -r|--chroot est demandée. Si rien
n'est demandé, start-stop-daemon changera de
répertoire pour le répertoire racine avant de commencer le
processus.
- -b, --background
- Utilisé généralement pour les programmes qui ne
« se détachent » pas
d'eux-mêmes. Cette option oblige start-stop-daemon à
se dupliquer (fork) avant de lancer le processus, et l'oblige à
passer en arrière-plan. AVERTISSEMENT :
start-stop-daemon ne peut pas vérifier le code de sortie quand,
pour une raison ou une autre, le processus échoue. C'est un
expédient dont on se servira seulement pour des programmes dont la
duplication n'a pas de sens ou bien des programmes dont le code n'est pas
adaptable pour leur ajouter cette fonctionnalité.
- -C, --no-close
- Ne fermer aucun descripteur de fichiers en forçant le démon
à s'exécuter en arrière-plan. Utilisé à
des fins de débogage afin de voir ce qu'affiche le processus ou
pour rediriger les descripteurs de fichiers pour journaliser l'affichage
du processus. N'est pertinent que lors de l'utilisation de
--background.
- -N, --nicelevel int
- Cela modifie la priorité du processus avant qu'il ne soit
lancé.
- -P, --procsched
politique:priorité
- Modifie la politique du programmateur de processus
(« process scheduler policy ») et la
priorité du processus avant de le démarrer. La
priorité peut être indiquée de manière
facultative avec : suivi de la valeur souhaitée. La
priorité par défaut est 0. Les valeurs de politiques
actuellement gérées sont other, fifo et
rr.
- -I, --iosched
classe:priorité
- Modifie la classe du programmateur d'entrée/sortie
(« IO scheduler ») et la priorité du
processus avant de le démarrer. La priorité peut être
indiquée de manière facultative avec : suivi de la
valeur souhaitée. La priorité par défaut est
4, sauf si classe est idle, auquel cas
priorité sera toujours égale à 7. Les valeurs
de classe actuellement gérées sont idle,
best-effort et real-time.
- -k, --umask masque
- Cela modifie le masque utilisateur du processus avant qu'il ne soit
lancé.
- -m, --make-pidfile
- Utilisé lors du lancement d'un programme qui ne crée pas son
propre fichier identificateur « pid ». Cette
option indique à start-stop-daemon de créer le
fichier référencé par --pidfile et placer le
« pid » dans ce fichier juste avant
d'exécuter le processus. Il faut remarquer que ce fichier ne sera
supprimé quand le programme s'arrête que si
--remove-pidfile est utilisé. NOTE : il se
peut que cette caractéristique ne marche pas dans tous les cas.
Notamment quand le programme qui est exécuté se duplique.
À cause de cela, cette option n'est habituellement utile que
combinée avec l'option --background.
- --remove-pidfile
- Utilisé lors de l'arrêt d'un programme qui ne supprime pas
lui-même son fichier identificateur
« pid ». Cette option indique à
start-stop-daemon de supprimer le fichier
référencé par --pid-file après
l'arrêt du processus.
- -v, --verbose
- Affiche des messages prolixes en renseignements.
CODE DE SORTIE¶
- 0
- L'action demandée a été effectuée. Si
--oknodo était indiqué, il est également
possible que rien ne se soit passé. Cela peut se produire si
--start était indiqué et qu'un processus
correspondant était déjà en train de
s'exécuter ou si --stop était indiqué et
qu'aucun processus ne correspondait.
- 1
- Si --oknodo n'était pas indiqué et que rien ne s'est
passé.
- 2
- Si --stop et --retry étaient indiqués mais que
la fin de la planification a été atteinte et que les
processus étaient toujours en cours d'exécution.
- 3
- Toute autre erreur.
Lorsque la commande
--status est utilisée, les codes d'état
suivants sont renvoyés :
- 0
- Le programme est en cours d'exécution.
- 1
- Le programme n'est pas en cours d'exécution et le fichier PID
existe.
- 3
- Le programme n'est pas en cours d'exécution.
- 4
- Impossible de déterminer l'état du programme.
EXEMPLE¶
Démarre le démon
food, à moins qu'il soit
déjà en cours d'exécution (un processus nommé
food, tournant sous le nom d'utilisateur
food, avec un pid dans
food.pid) :
-
start-stop-daemon --start --oknodo --user food --name food \
--pidfile /run/food.pid --startas /usr/sbin/food \
--chuid food -- --daemon
Envoie le signal
SIGTERM à
food et attend durant 5 secondes
son arrêt :
-
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry 5
Démonstration d'un ordonnanceur personnalisé pour l'arrêt
de
food :
-
start-stop-daemon --stop --oknodo --user food --name food \
--pidfile /run/food.pid --retry=TERM/30/KILL/5
TRADUCTION¶
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
<debian-l10n-french@lists.debian.org>.