358 lines
20 KiB
HTML
358 lines
20 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of start-stop-daemon</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>start-stop-daemon</H1>
|
|
Section: suite dpkg (8)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NOM</H2>
|
|
|
|
start-stop-daemon - Lance ou arrête des démons système
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<B>start-stop-daemon</B> [<I>option</I>...] <I>commande</I>
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
On se sert de <B>start-stop-daemon</B> pour contrôler la création ou l'arrêt de
|
|
processus système. En utilisant les options correspondantes,
|
|
<B>start-stop-daemon</B> peut être configuré pour trouver les exemplaires
|
|
présents d'un processus en fonctionnement.
|
|
<P>
|
|
|
|
Veuillez noter qu'à moins d'utiliser <B>--pid</B> ou <B>--pidfile</B>, le programme
|
|
<B>start-stop-daemon</B> se comporte comme <B><A HREF="/cgi-bin/man/man2html?1+killall">killall</A></B>(1). <B>start-stop-daemon</B>
|
|
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 <B>--start</B> de démarrer le démon. Tous les processus
|
|
qui correspondent recevront le signal TERM (ou le signal indiqué par
|
|
<B>--signal</B> ou <B>--retry</B>) si <B>--stop</B> est indiqué. Pour les démons avec
|
|
des processus enfant qui doivent survivre à un <B>--stop</B>, il est nécessaire
|
|
d'indiquer un fichier pid (« pidfile »).
|
|
<A NAME="lbAE"> </A>
|
|
<H2>COMMANDES</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><B>-S</B>, <B>--start</B> [<B>--</B>] <I>paramètres</I><DD>
|
|
Vérifier l'existence d'un processus particulier. Quand il existe un tel
|
|
processus, <B>start-stop-daemon</B> ne fait rien et se termine avec un code
|
|
d'erreur égal à <B>1</B> (<B>0</B> si <B>--oknodo</B> est précisé). Quand un tel
|
|
processus n'existe pas, un exemplaire de l'exécutable est lancé, en
|
|
utilisant le paramètre de <B>--exec</B> ou celui de <B>--startas</B> si cette option
|
|
est précisée. Tout argument donné après <B>--</B> sur la ligne de commande est
|
|
passé tel quel au programme qui doit être lancé.
|
|
<DT id="2"><B>-K</B>, <B>--stop</B><DD>
|
|
Vérifier aussi l'existence d'un processus particulier. Quand un tel
|
|
processus existe, <B>start-stop-daemon</B> lui envoie le signal précisé avec
|
|
<B>--signal</B> et se termine avec un code d'erreur égal à <B>0</B>. Quand un tel
|
|
processus n'existe pas, <B>start-stop-daemon</B> se termine avec un code
|
|
d'erreur égal à <B>1</B> (<B>0</B> si <B>--oknodo</B> est précisé). Si <B>--retry</B> est
|
|
indiquée, <B>start-stop-daemon</B> recherche si le processus ou les processus se
|
|
sont bien terminés.
|
|
<DT id="3"><B>-T</B>, <B>--status</B><DD>
|
|
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 » - depuis la version 1.16.1).
|
|
<DT id="4"><B>-H</B>, <B>--help</B><DD>
|
|
Affiche un message d'aide, puis quitte.
|
|
<DT id="5"><B>-V</B>, <B>--version</B><DD>
|
|
Affiche la version du programme, puis quitte.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Options de correspondance</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="6">[<B>--pid</B>] <I>pid</I><DD>
|
|
Vérifie l'existence d'un processus avec le <I>pid</I> spécifié (depuis la
|
|
version 1.17.6). Le <I>pid</I> doit avoir un numéro supérieur à 0.
|
|
<DT id="7">[<B>--ppid</B>] <I>pid parent</I><DD>
|
|
Vérifie l'existence d'un processus avec le pid parent <I>pid-parent</I> spécifié
|
|
(depuis la version 1.17.7). Le <I>pid-parent</I> doit avoir un numéro supérieur
|
|
à 0.
|
|
<DT id="8"><B>-p</B>, <B>--pidfile</B> <I>fichier-pid</I><DD>
|
|
Cherche les processus dont les identifiants sont précisés dans
|
|
<I>fichier-pid</I>.
|
|
<DT id="9"><DD>
|
|
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é
|
|
sans savoir retiré le <I>fichier-pid</I>.
|
|
<DT id="10"><DD>
|
|
<B>Attention</B> : L'utilisation de cette option de correspondance avec un
|
|
fichier pid accessible à tous en écriture ou seule avec un démon qui écrit
|
|
le fichier pid comme utilisateur non privilégié (pas root) sera refusée avec
|
|
une erreur (depuis la version 1.19.3) car c'est un risque de sécurité, parce
|
|
que, si le démon se trouve compromis, le contenu du fichier pid ne peut plus
|
|
être sûr, et ainsi, un exécutant privilégié (comme un script init exécuté en
|
|
tant que root) pourrait en fin de compte agir sur n'importe quel processus
|
|
du système. L'utilisation de <I>/dev/null</I> est exclue de ces vérifications.
|
|
<DT id="11"><B>-x</B>, <B>--exec</B> <I>exécutable</I><DD>
|
|
Contrôle l'existence de processus qui soient des exemplaires de cet
|
|
<I>exécutable</I>. Le paramètre <I>exécutable</I> 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.
|
|
<DT id="12"><B>-n</B>, <B>--name</B> <I>nom-de-processus</I><DD>
|
|
Contrôle l'existence de processus avec <I>nom-de-processus</I> comme nom. Le
|
|
<I>nom-de-processus</I> 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).
|
|
<DT id="13"><B>-u</B>, <B>--user</B> <I>identifiant</I>|<I>uid</I><DD>
|
|
Contrôle l'existence de processus dont le propriétaire est <I>identifiant</I> ou
|
|
<I>uid</I>. Note : si cette option est utilisée seule, tous les processus de cet
|
|
utilisateur seront concernés par l'action.
|
|
</DL>
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Options génériques</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="14"><B>-g</B>, <B>--group</B> <I>groupe</I>|<I>gid</I><DD>
|
|
Modifie le <I>groupe</I> ou le <I>gid</I> au début du processus.
|
|
<DT id="15"><B>-s</B>, <B>--signal</B> <I>signal</I><DD>
|
|
L'action <B>--stop</B> définit le signal à envoyer au processus qui doit être
|
|
arrêté (par défaut : TERM).
|
|
<DT id="16"><B>-R</B>, <B>--retry</B> <I>durée</I>|<I>action-prévue</I><DD>
|
|
Avec l'action <B>--stop</B>, <B>start-stop-daemon</B> 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'<I>action-prévue</I>.
|
|
<P>
|
|
Si <I>durée</I> est indiquée plutôt que <I>action-prévue</I>, l'action-prévue
|
|
<I>signal</I><B>/</B><I>durée</I><B>/KILL/</B><I>durée</I> est utilisée, où <I>signal</I> est le
|
|
signal indiqué par <B>--signal</B>.
|
|
<P>
|
|
<I>action-prévue</I> est une liste d'au moins deux items séparés par des barres
|
|
obliques (<B>/</B>) ; chaque item peut être de la forme <B>-</B><I>numéro-signal</I> ou
|
|
de la forme [<B>-</B>]<I>nom-signal</I>, ce qui demande d'envoyer ce signal ; ou
|
|
bien de la forme <I>durée,</I> ce qui demande d'attendre tant de secondes avant
|
|
de terminer les processus, ou bien de la forme <B>forever</B>, ce qui demande de
|
|
répéter constamment le reste de action-prévue, si nécessaire.
|
|
<P>
|
|
Quand la fin de l'action-prévue est atteinte et que <B>forever</B> n'a pas été
|
|
précisé, <B>start-stop-daemon</B> se termine avec un code d'erreur égal à
|
|
<B>2</B>. Quand une action-prévue est indiquée, tout signal donné par
|
|
<B>--signal</B> est ignoré.
|
|
<DT id="17"><I>-a</I>, <B>--startas</B> <I>nom-de-chemin</I><DD>
|
|
Avec l'action <B>--start</B>, lance le processus spécifié par
|
|
<I>nom-de-chemin</I>. Si rien n'est précisé, c'est par défaut l'argument donné à
|
|
<B>--exec</B>.
|
|
<DT id="18"><B>-t</B>, <B>--test</B><DD>
|
|
Affiche les actions qui seraient entreprises et détermine la bonne valeur de
|
|
retour, mais ne fait rien.
|
|
<DT id="19"><B>-o</B>, <B>--oknodo</B><DD>
|
|
Retourne un code de sortie égal à <B>0</B> au lieu de <B>1</B> si rien n'est ou ne
|
|
sera fait.
|
|
<DT id="20"><B>-q</B>, <B>--quiet</B><DD>
|
|
N'affiche pas de messages d'information ; affiche seulement les messages
|
|
d'erreur.
|
|
<DT id="21"><B>-c</B>, <B>--chuid</B> <I>identifiant</I>|<I>uid</I>[<B>:</B><I>groupe</I>|<I>gid</I>]<DD>
|
|
Change pour cet utilisateur ou « uid » avant de lancer le processus. On peut
|
|
aussi préciser un groupe en ajoutant un <B>:</B>, puis le groupe ou un « gid »
|
|
de la même façon qu'avec la commande <B><A HREF="/cgi-bin/man/man2html?1+chown">chown</A></B>(1)
|
|
(<I>utilisateur</I><B>:</B><I>groupe</I>). 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 <B>--group</B> n'est pas
|
|
spécifiée. L'option <B>--group</B> 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 <B>nobody</B>).
|
|
<DT id="22"><B>-r</B>, <B>--chroot</B> <I>root</I><DD>
|
|
Change de répertoire racine pour <B>root</B> avant de lancer le
|
|
processus. Remarquez que le « pidfile » est aussi écrit après le changement
|
|
de racine.
|
|
<DT id="23"><B>-d</B>, <B>--chdir</B> <I>chemin</I><DD>
|
|
Change de répertoire pour <I>chemin</I> avant de commencer le processus. Cela
|
|
est fait après le changement de répertoire racine si l'option
|
|
<B>-r</B>|<B>--chroot</B> est demandée. Si rien n'est demandé, <B>start-stop-daemon</B>
|
|
changera de répertoire pour le répertoire racine avant de commencer le
|
|
processus.
|
|
<DT id="24"><B>-b</B>, <B>--background</B><DD>
|
|
Utilisé généralement pour les programmes qui ne « se détachent » pas
|
|
d'eux-mêmes. Cette option oblige <B>start-stop-daemon</B> à se dupliquer (fork)
|
|
avant de lancer le processus, et l'oblige à passer en
|
|
arrière-plan. <B>AVERTISSEMENT : start-stop-daemon</B> ne peut pas vérifier le
|
|
code de sortie quand, pour <B>une raison ou une autre</B>, 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é.
|
|
<DT id="25"><B>--notify-await</B><DD>
|
|
Attend que le processus en arrière-plan envoie une notification de
|
|
disponibilité avant de considérer que le service est démarré (depuis la
|
|
version 1.19.3). Cela met en œuvre des éléments du protocole de
|
|
disponibilité de systemd, comme spécifié dans la page de manuel de
|
|
<B><A HREF="/cgi-bin/man/man2html?3+sd_notify">sd_notify</A></B>(3). Les variables suivantes sont prises en charge :
|
|
<DL COMPACT><DT id="26"><DD>
|
|
<DL COMPACT>
|
|
<DT id="27"><B>READY=1</B><DD>
|
|
Le programme est prêt à offrir son service, il est possible de quitter sans
|
|
risque.
|
|
<DT id="28"><B>EXTEND_TIMEOUT_USEC=</B><I>nombre</I><DD>
|
|
Le programme demande l'extension de la durée de <I>nombre</I>
|
|
microsecondes. Cela fixera la durée en cours à la valeur spécifiée.
|
|
<DT id="29"><B>ERRNO=</B> <I>nombre</I><DD>
|
|
Le programme s'est terminé avec une erreur. Fait la même chose et affiche
|
|
une chaîne conviviale pour la valeur de <B>errno</B>.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DT id="30"><B>--notify-timeout</B><I>durée</I><DD>
|
|
Définit une durée pour l'option <B>--notify-await</B> (depuis la
|
|
version 1.19.3). Quand la durée est atteinte, <B>start-stop-daemon</B> s'arrête
|
|
avec un code d'erreur et aucune notification de disponibilité n'est
|
|
attendue. La durée par défaut est de <B>60</B> secondes.
|
|
<DT id="31"><B>-C</B>, <B>--no-close</B><DD>
|
|
Ne fermer aucun descripteur de fichiers en forçant le démon à s'exécuter en
|
|
arrière-plan (depuis la version 1.16.5). 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 <B>--background</B>.
|
|
<DT id="32"><B>-N</B>, <B>--nicelevel</B> <I>int</I><DD>
|
|
Cela modifie la priorité du processus avant qu'il ne soit lancé.
|
|
<DT id="33"><B>-P</B>, <B>--procsched</B> <I>politique</I><B>:</B><I>priorité</I><DD>
|
|
Modifie la politique du programmateur de processus (« process scheduler
|
|
policy ») et la priorité du processus avant de le démarrer (depuis la
|
|
version 1.15.0). La priorité peut être indiquée de manière facultative avec
|
|
<B>:</B> suivi de la valeur souhaitée. La <I>priorité</I> par défaut est 0. Les
|
|
valeurs de politiques actuellement gérées sont <B>other</B>, <B>fifo</B> et <B>rr</B>.
|
|
<DT id="34"><B>-I</B>, <B>--iosched</B> <I>classe</I><B>:</B><I>priorité</I><DD>
|
|
Modifie la classe du programmateur d'entrée/sortie (« IO scheduler ») et la
|
|
priorité du processus avant de le démarrer (depuis la version 1.15.0). La
|
|
priorité peut être indiquée de manière facultative avec <B>:</B> suivi de la
|
|
valeur souhaitée. La <I>priorité</I> par défaut est 4, sauf si <I>classe</I> est
|
|
<B>idle</B>, auquel cas <I>priorité</I> sera toujours égale à 7. Les valeurs de
|
|
<I>classe</I> actuellement gérées sont <B>idle</B>, <B>best-effort</B> et <B>real-time</B>.
|
|
<DT id="35"><B>-k</B>, <B>--umask</B> <I>masque</I><DD>
|
|
Cela modifie le masque utilisateur du processus avant qu'il ne soit lancé
|
|
(depuis la version 1.13.22).
|
|
<DT id="36"><B>-m</B>, <B>--make-pidfile</B><DD>
|
|
Utilisé lors du lancement d'un programme qui ne crée pas son propre fichier
|
|
identificateur « pid ». Cette option indique à <B>start-stop-daemon</B> de créer
|
|
le fichier référencé par <B>--pidfile</B> 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 <B>--remove-pidfile</B> est
|
|
utilisé. <B>NOTE :</B> 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 <B>--background</B>.
|
|
<DT id="37"><B>--remove-pidfile</B><DD>
|
|
Utilisé lors de l'arrêt d'un programme qui ne supprime pas lui-même son
|
|
fichier identificateur « pid » (depuis la version 1.17.19). Cette option
|
|
indique à <B>start-stop-daemon</B> de supprimer le fichier référencé par
|
|
<B>--pid-file</B> après l'arrêt du processus.
|
|
<DT id="38"><B>-v</B>, <B>--verbose</B><DD>
|
|
Affiche des messages prolixes en renseignements.
|
|
</DL>
|
|
<A NAME="lbAI"> </A>
|
|
<H2>CODE DE SORTIE</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="39"><B>0</B><DD>
|
|
L'action demandée a été effectuée. Si <B>--oknodo</B> était indiqué, il est
|
|
également possible que rien ne se soit passé. Cela peut se produire si
|
|
<B>--start</B> était indiqué et qu'un processus correspondant était déjà en
|
|
train de s'exécuter ou si <B>--stop</B> était indiqué et qu'aucun processus ne
|
|
correspondait.
|
|
<DT id="40"><B>1</B><DD>
|
|
Si <B>--oknodo</B> n'était pas indiqué et que rien ne s'est passé.
|
|
<DT id="41"><B>2</B><DD>
|
|
Si <B>--stop</B> et <B>--retry</B> étaient indiqués mais que la fin de la
|
|
planification a été atteinte et que les processus étaient toujours en cours
|
|
d'exécution.
|
|
<DT id="42"><B>3</B><DD>
|
|
Toute autre erreur.
|
|
</DL>
|
|
<P>
|
|
|
|
Lorsque la commande <B>--status</B> est utilisée, les codes d'état suivants sont
|
|
renvoyés :
|
|
<DL COMPACT>
|
|
<DT id="43"><B>0</B><DD>
|
|
Le programme est en cours d'exécution.
|
|
<DT id="44"><B>1</B><DD>
|
|
Le programme n'est pas en cours d'exécution et le fichier PID existe.
|
|
<DT id="45"><B>3</B><DD>
|
|
Le programme n'est pas en cours d'exécution.
|
|
<DT id="46"><B>4</B><DD>
|
|
Impossible de déterminer l'état du programme.
|
|
</DL>
|
|
<A NAME="lbAJ"> </A>
|
|
<H2>EXEMPLE</H2>
|
|
|
|
Démarre le démon <B>food</B>, à moins qu'il soit déjà en cours d'exécution (un
|
|
processus nommé <B>food</B>, tournant sous le nom d'utilisateur <B>food</B>, avec un
|
|
pid dans food.pid) :
|
|
<DL COMPACT>
|
|
<DT id="47"><DD>
|
|
<PRE>
|
|
start-stop-daemon --start --oknodo --user food --name food \
|
|
--pidfile /run/food.pid --startas /usr/sbin/food \
|
|
--chuid food -- --daemon
|
|
</PRE>
|
|
|
|
</DL>
|
|
<P>
|
|
|
|
Envoie le signal <B>SIGTERM</B> à <B>food</B> et attend durant 5 secondes son
|
|
arrêt :
|
|
<DL COMPACT>
|
|
<DT id="48"><DD>
|
|
<PRE>
|
|
start-stop-daemon --stop --oknodo --user food --name food \
|
|
--pidfile /run/food.pid --retry 5
|
|
</PRE>
|
|
|
|
</DL>
|
|
<P>
|
|
|
|
Démonstration d'un ordonnanceur personnalisé pour l'arrêt de <B>food</B> :
|
|
<DL COMPACT>
|
|
<DT id="49"><DD>
|
|
<PRE>
|
|
start-stop-daemon --stop --oknodo --user food --name food \
|
|
--pidfile /run/food.pid --retry=TERM/30/KILL/5
|
|
</PRE>
|
|
|
|
</DL>
|
|
<A NAME="lbAK"> </A>
|
|
<H2>TRADUCTION</H2>
|
|
|
|
Ariel VARDI <<A HREF="mailto:ariel.vardi@freesbee.fr">ariel.vardi@freesbee.fr</A>>, 2002.
|
|
Philippe Batailler, 2006.
|
|
Nicolas François, 2006.
|
|
Veuillez signaler toute erreur à <<A HREF="mailto:debian-l10n-french@lists.debian.org">debian-l10n-french@lists.debian.org</A>>.
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="50"><A HREF="#lbAB">NOM</A><DD>
|
|
<DT id="51"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="52"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="53"><A HREF="#lbAE">COMMANDES</A><DD>
|
|
<DT id="54"><A HREF="#lbAF">OPTIONS</A><DD>
|
|
<DL>
|
|
<DT id="55"><A HREF="#lbAG">Options de correspondance</A><DD>
|
|
<DT id="56"><A HREF="#lbAH">Options génériques</A><DD>
|
|
</DL>
|
|
<DT id="57"><A HREF="#lbAI">CODE DE SORTIE</A><DD>
|
|
<DT id="58"><A HREF="#lbAJ">EXEMPLE</A><DD>
|
|
<DT id="59"><A HREF="#lbAK">TRADUCTION</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:03 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|