.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "start-stop-daemon 8" .TH start-stop-daemon 8 2024-01-19 1.22.3 "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NOM .IX Header "NOM" start-stop-daemon \- Lance ou arr\(^ete des d\('emons syst\(`eme .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBstart-stop-daemon\fR [\fIoption\fR...] \fIcommande\fR .SH DESCRIPTION .IX Header "DESCRIPTION" On se sert de \fBstart-stop-daemon\fR pour contr\(^oler la cr\('eation ou l'arr\(^et de processus syst\(`eme. En utilisant une des options de correspondance, \fBstart-stop-daemon\fR peut \(^etre configur\('e pour trouver les exemplaires pr\('esents d'un processus en fonctionnement. .PP \&\fBNote\fR: Unless \fB\-\-pid\fR or \fB\-\-pidfile\fR are specified, \fBstart-stop-daemon\fR behaves similar to \fBkillall\fR\|(1). \fBstart-stop-daemon\fR will scan the process table looking for any processes which match the process name, parent pid, uid, and/or gid (if specified). Any matching process will prevent \fB\-\-start\fR from starting the daemon. All matching processes will be sent the TERM signal (or the one specified via \fB\-\-signal\fR or \fB\-\-retry\fR) if \fB\-\-stop\fR is specified. For daemons which have long-lived children which need to live through a \fB\-\-stop\fR, you must specify a pidfile. .SH COMMANDES .IX Header "COMMANDES" .IP "\fB\-S\fR, \fB\-\-start\fR [\fB\-\-\fR] \fIparam\(`etres\fR" 4 .IX Item "-S, --start [--] param\(`etres" V\('erifier l'existence d'un processus particulier. Quand il existe un tel processus, \fBstart-stop-daemon\fR ne fait rien et se termine avec un code d'erreur \('egal \(`a \fB1\fR (\fB0\fR si \fB\-\-oknodo\fR est pr\('ecis\('e). Quand un tel processus n'existe pas, un exemplaire de l'ex\('ecutable est lanc\('e, en utilisant le param\(`etre de \fB\-\-exec\fR ou celui de \fB\-\-startas\fR si cette option est pr\('ecis\('ee. Tout argument donn\('e apr\(`es \fB\-\-\fR sur la ligne de commande est pass\('e tel quel au programme qui doit \(^etre lanc\('e. .IP "\fB\-K\fR, \fB\-\-stop\fR" 4 .IX Item "-K, --stop" V\('erifier aussi l'existence d'un processus particulier. Quand un tel processus existe, \fBstart-stop-daemon\fR lui envoie le signal pr\('ecis\('e avec \fB\-\-signal\fR et se termine avec un code d'erreur \('egal \(`a \fB0\fR. Quand un tel processus n'existe pas, \fBstart-stop-daemon\fR se termine avec un code d'erreur \('egal \(`a \fB1\fR (\fB0\fR si \fB\-\-oknodo\fR est pr\('ecis\('e). Si \fB\-\-retry\fR est indiqu\('ee, \fBstart-stop-daemon\fR recherche si le processus ou les processus se sont bien termin\('es. .IP "\fB\-T\fR, \fB\-\-status\fR" 4 .IX Item "-T, --status" Contr\(^ole l'existence du processus indiqu\('e et sort avec un code de sortie d\('efini par les actions des scripts d'initialisation de la LSB (\(Fo\ LSB Init Script Actions\ \(Fc \(en depuis la version 1.16.1). .IP "\fB\-H\fR, \fB\-\-help\fR" 4 .IX Item "-H, --help" Affiche un message d'aide, puis quitte. .IP "\fB\-V\fR, \fB\-\-version\fR" 4 .IX Item "-V, --version" Affiche la version du programme, puis quitte. .SH OPTIONS .IX Header "OPTIONS" .SS "Options de correspondance" .IX Subsection "Options de correspondance" .IP "[\fB\-\-pid\fR] \fIpid\fR" 4 .IX Item "[--pid] pid" V\('erifie l'existence d'un processus avec le \fIpid\fR sp\('ecifi\('e (depuis la version 1.17.6). Le \fIpid\fR doit avoir un num\('ero sup\('erieur \(`a 0. .IP "[\fB\-\-ppid\fR] \fIpid parent\fR" 4 .IX Item "[--ppid] pid parent" V\('erifie l'existence d'un processus avec le pid parent \fIpid-parent\fR sp\('ecifi\('e (depuis la version 1.17.7). Le \fIpid-parent\fR doit avoir un num\('ero sup\('erieur \(`a\ 0. .IP "\fB\-p\fR, \fB\-\-pidfile\fR \fIfichier-pid\fR" 4 .IX Item "-p, --pidfile fichier-pid" Cherche les processus dont les identifiants sont pr\('ecis\('es dans \fIfichier-pid\fR. .Sp \&\fBNote\fR: Using this matching option alone might cause unintended processes to be acted on, if the old process terminated without being able to remove the \fIpidfile\fR. .Sp \&\fBWarning\fR: Using this match option with a world-writable pidfile or using it alone with a daemon that writes the pidfile as an unprivileged (non-root) user will be refused with an error (since version 1.19.3) as this is a security risk, because either any user can write to it, or if the daemon gets compromised, the contents of the pidfile cannot be trusted, and then a privileged runner (such as an init script executed as root) would end up acting on any system process. Using \fI/dev/null\fR is exempt from these checks. .IP "\fB\-x\fR, \fB\-\-exec\fR \fIex\('ecutable\fR" 4 .IX Item "-x, --exec ex\('ecutable" Contr\(^ole l'existence de processus qui soient des exemplaires de cet \fIex\('ecutable\fR. Le param\(`etre \fIex\('ecutable\fR doit \(^etre un chemin absolu. .Sp \&\fBNote\fR: This might not work as intended with interpreted scripts, as the executable will point to the interpreter. Take into account processes running from inside a chroot will also be matched, so other match restrictions might be needed. .IP "\fB\-n\fR, \fB\-\-name\fR \fInom-de-processus\fR" 4 .IX Item "-n, --name nom-de-processus" Contr\(^ole l'existence de processus avec \fInom-de-processus\fR comme nom. Le \fInom-de-processus\fR est en g\('en\('eral le nom du fichier du processus, mais peut avoir \('et\('e modifi\('e par le processus lui\-m\(^eme. .Sp \&\fBNote\fR: On most systems this information is retrieved from the process comm name from the kernel, which tends to have a relatively short length limit (assuming more than 15 characters is non-portable). .IP "\fB\-u\fR, \fB\-\-user\fR \fIidentifiant\fR|\fIuid\fR" 4 .IX Item "-u, --user identifiant|uid" Contr\(^ole l'existence de processus dont le propri\('etaire est \fIidentifiant\fR ou \fIuid\fR. .Sp \&\fBNote\fR: Using this matching option alone will cause all processes matching the user to be acted on. .SS "Options g\('en\('eriques" .IX Subsection "Options g\('en\('eriques" .IP "\fB\-g\fR, \fB\-\-group\fR \fIgroupe\fR|\fIgid\fR" 4 .IX Item "-g, --group groupe|gid" Modifie le \fIgroupe\fR ou le \fIgid\fR au d\('ebut du processus. .IP "\fB\-s\fR, \fB\-\-signal\fR \fIsignal\fR" 4 .IX Item "-s, --signal signal" L'action \fB\-\-stop\fR d\('efinit le signal \(`a envoyer au processus qui doit \(^etre arr\(^et\('e (par d\('efaut\ : TERM). .IP "\fB\-R\fR, \fB\-\-retry\fR \fIdur\('ee\fR|\fIaction\-pr\('evue\fR" 4 .IX Item "-R, --retry dur\('ee|action-pr\('evue" Avec l'action \fB\-\-stop\fR, \fBstart-stop-daemon\fR doit v\('erifier que les processus se sont termin\('es. Il le fait pour tous les processus correspondants qui tournent, jusqu'\(`a ce qu'il n'y en ait plus. Quand le processus ne se termine pas, il prend d'autres mesures d\('etermin\('ees par l'\fIaction\-pr\('evue\fR. .Sp Si \fIdur\('ee\fR est indiqu\('ee plut\(^ot que \fIaction\-pr\('evue\fR, l'action\-pr\('evue \fIsignal\fR\fB/\fR\fIdur\('ee\fR\fB/KILL/\fR\fIdur\('ee\fR est utilis\('ee, o\(`u \fIsignal\fR est le signal indiqu\('e par \fB\-\-signal\fR. .Sp \&\fIaction\-pr\('evue\fR est une liste d'au moins deux items s\('epar\('es par des barres obliques (\fB/\fR) ; chaque item peut \(^etre de la forme \fB\-\fR\fInum\('ero\-signal\fR ou de la forme [\fB\-\fR]\fInom-signal\fR, ce qui demande d'envoyer ce signal ; ou bien de la forme \fIdur\('ee,\fR ce qui demande d'attendre tant de secondes avant de terminer les processus, ou bien de la forme \fBforever\fR, ce qui demande de r\('ep\('eter constamment le reste de action\-pr\('evue, si n\('ecessaire. .Sp Quand la fin de l'action\-pr\('evue est atteinte et que \fBforever\fR n'a pas \('et\('e pr\('ecis\('e, \fBstart-stop-daemon\fR se termine avec un code d'erreur \('egal \(`a \fB2\fR. Quand une action\-pr\('evue est indiqu\('ee, tout signal donn\('e par \fB\-\-signal\fR est ignor\('e. .IP "\fI\-a\fR, \fB\-\-startas\fR \fInom-de-chemin\fR" 4 .IX Item "-a, --startas nom-de-chemin" Avec l'action \fB\-\-start\fR, lance le processus sp\('ecifi\('e par \fInom-de-chemin\fR. Si rien n'est pr\('ecis\('e, c'est par d\('efaut l'argument donn\('e \(`a \fB\-\-exec\fR. .IP "\fB\-t\fR, \fB\-\-test\fR" 4 .IX Item "-t, --test" Affiche les actions qui seraient entreprises et d\('etermine la bonne valeur de retour, mais ne fait rien. .IP "\fB\-o\fR, \fB\-\-oknodo\fR" 4 .IX Item "-o, --oknodo" Retourne un code de sortie \('egal \(`a \fB0\fR au lieu de \fB1\fR si rien n'est ou ne sera fait. .IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 .IX Item "-q, --quiet" N'affiche pas de messages d'information ; affiche seulement les messages d'erreur. .IP "\fB\-c\fR, \fB\-\-chuid\fR \fIidentifiant\fR|\fIuid\fR[\fB:\fR\fIgroupe\fR|\fIgid\fR]" 4 .IX Item "-c, --chuid identifiant|uid[:groupe|gid]" Change to this username/uid before starting the process. You can also specify a group by appending a \fB:\fR, then the group or gid in the same way as you would for the \fBchown\fR\|(1) command (\fIuser\fR\fB:\fR\fIgroup\fR). If a user is specified without a group, the primary GID for that user is used. When using this option you must realize that the primary and supplemental groups are set as well, even if the \fB\-\-group\fR option is not specified. The \fB\-\-group\fR option is only for groups that the user isn't normally a member of (like adding per process group membership for generic users like \fBnobody\fR). .IP "\fB\-r\fR, \fB\-\-chroot\fR \fIroot\fR" 4 .IX Item "-r, --chroot root" Change de r\('epertoire racine pour \fBroot\fR avant de lancer le processus. Remarquez que le \(Fo\ pidfile\ \(Fc est aussi \('ecrit apr\(`es le changement de racine. .IP "\fB\-d\fR, \fB\-\-chdir\fR \fIchemin\fR" 4 .IX Item "-d, --chdir chemin" Change de r\('epertoire pour \fIchemin\fR avant de commencer le processus. Cela est fait apr\(`es le changement de r\('epertoire racine si l'option \fB\-r\fR|\fB\-\-chroot\fR est demand\('ee. Si rien n'est demand\('e, \fBstart-stop-daemon\fR changera de r\('epertoire pour le r\('epertoire racine avant de commencer le processus. .IP "\fB\-b\fR, \fB\-\-background\fR" 4 .IX Item "-b, --background" Utilis\('e g\('en\('eralement pour les programmes qui ne \(Fo\ se d\('etachent\ \(Fc pas d'eux\-m\(^emes. Cette option oblige \fBstart-stop-daemon\fR \(`a se dupliquer (fork) avant de lancer le processus, et l'oblige \(`a passer en arri\(`ere\-plan. .Sp \&\fBWarning\fR: \fBstart-stop-daemon\fR cannot check the exit status if the process fails to execute for \fBany\fR reason. This is a last resort, and is only meant for programs that either make no sense forking on their own, or where it's not feasible to add the code for them to do this themselves. .IP \fB\-\-notify\-await\fR 4 .IX Item "--notify-await" Wait for the background process to send a readiness notification before considering the service started (since version 1.19.3). This implements parts of the systemd readiness protocol, as specified in the \fBsd_notify\fR\|(3) manual page. The following variables are supported: .RS 4 .IP \fBREADY=1\fR 4 .IX Item "READY=1" Le programme est pr\(^et \(`a offrir son service, il est possible de quitter sans risque. .IP \fBEXTEND_TIMEOUT_USEC=\fR\fInombre\fR 4 .IX Item "EXTEND_TIMEOUT_USEC=nombre" Le programme demande l'extension de la dur\('ee de \fInombre\fR microsecondes. Cela fixera la dur\('ee en cours \(`a la valeur sp\('ecifi\('ee. .IP "\fBERRNO=\fR \fInombre\fR" 4 .IX Item "ERRNO= nombre" Le programme s'est termin\('e avec une erreur. Fait la m\(^eme chose et affiche une cha\(^ine conviviale pour la valeur de \fBerrno\fR. .RE .RS 4 .RE .IP "\fB\-\-notify\-timeout\fR \fIdur\('ee\fR" 4 .IX Item "--notify-timeout dur\('ee" D\('efinit une dur\('ee pour l'option \fB\-\-notify\-await\fR (depuis la version 1.19.3). Quand la dur\('ee est atteinte, \fBstart-stop-daemon\fR s'arr\(^ete avec un code d'erreur et aucune notification de disponibilit\('e n'est attendue. La dur\('ee par d\('efaut est de \fB60\fR secondes. .IP "\fB\-C\fR, \fB\-\-no\-close\fR" 4 .IX Item "-C, --no-close" Ne fermer aucun descripteur de fichiers en for\(,cant le d\('emon \(`a s'ex\('ecuter en arri\(`ere\-plan (depuis la version 1.16.5). Utilis\('e \(`a des fins de d\('ebogage 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 \fB\-\-background\fR. .IP "\fB\-O\fR, \fB\-\-output\fR \fInom-de-chemin\fR" 4 .IX Item "-O, --output nom-de-chemin" Rediriger \fBstdout\fR et \fBstderr\fR vers \fInom-de-chemin\fR en for\(,cant le d\('emon \(`a s'ex\('ecuter en arri\(`ere\-plan (depuis la version 1.20.6). N'est pertinent que lors de l'utilisation de \fB\-\-background\fR. .IP "\fB\-N\fR, \fB\-\-nicelevel\fR \fIint\fR" 4 .IX Item "-N, --nicelevel int" Cela modifie la priorit\('e du processus avant qu'il ne soit lanc\('e. .IP "\fB\-P\fR, \fB\-\-procsched\fR \fIpolitique\fR\fB:\fR\fIpriorit\('e\fR" 4 .IX Item "-P, --procsched politique:priorit\('e" Modifie la politique du programmateur de processus (\(Fo\ process scheduler policy\ \(Fc) et la priorit\('e du processus avant de le d\('emarrer (depuis la version 1.15.0). La priorit\('e peut \(^etre indiqu\('ee de mani\(`ere facultative avec \fB:\fR suivi de la valeur souhait\('ee. La \fIpriorit\('e\fR par d\('efaut est 0. Les valeurs de politiques actuellement g\('er\('ees sont \fBother\fR, \fBfifo\fR et \fBrr\fR. .Sp Cette option peut ne rien faire sur certains syst\(`eme o\(`u la programmation des processus de POSIX n'est pas prise en charge. .IP "\fB\-I\fR, \fB\-\-iosched\fR \fIclasse\fR\fB:\fR\fIpriorit\('e\fR" 4 .IX Item "-I, --iosched classe:priorit\('e" Modifie la classe du programmateur d'entr\('ee/sortie (\(Fo\ IO scheduler\ \(Fc) et la priorit\('e du processus avant de le d\('emarrer (depuis la version 1.15.0). La priorit\('e peut \(^etre indiqu\('ee de mani\(`ere facultative avec \fB:\fR suivi de la valeur souhait\('ee. La \fIpriorit\('e\fR par d\('efaut est 4, sauf si \fIclasse\fR est \fBidle\fR, auquel cas \fIpriorit\('e\fR sera toujours \('egale \(`a 7. Les valeurs de \fIclasse\fR actuellement g\('er\('ees sont \fBidle\fR, \fBbest-effort\fR et \fBreal-time\fR. .Sp Cette option peut ne rien faire sur certains syst\(`eme o\(`u la programmation d'entr\('ee/sortie de Linux n'est pas prise en charge. .IP "\fB\-k\fR, \fB\-\-umask\fR \fImasque\fR" 4 .IX Item "-k, --umask masque" Cela modifie le masque utilisateur du processus avant qu'il ne soit lanc\('e (depuis la version 1.13.22). .IP "\fB\-m\fR, \fB\-\-make\-pidfile\fR" 4 .IX Item "-m, --make-pidfile" Utilis\('e lors du lancement d'un programme qui ne cr\('ee pas son propre fichier identificateur \(Fo\ pid\ \(Fc. Cette option indique \(`a \fBstart-stop-daemon\fR de cr\('eer le fichier r\('ef\('erenc\('e par \fB\-\-pidfile\fR et placer le \(Fo\ pid\ \(Fc dans ce fichier juste avant d'ex\('ecuter le processus. Il faut remarquer que ce fichier ne sera supprim\('e quand le programme s'arr\(^ete que si \fB\-\-remove\-pidfile\fR est utilis\('e. .Sp \&\fBNote\fR: This feature may not work in all cases. Most notably when the program being executed forks from its main process. Because of this, it is usually only useful when combined with the \fB\-\-background\fR option. .IP \fB\-\-remove\-pidfile\fR 4 .IX Item "--remove-pidfile" Utilis\('e lors de l'arr\(^et d'un programme qui ne supprime pas lui\-m\(^eme son fichier identificateur \(Fo\ pid\ \(Fc (depuis la version 1.17.19). Cette option indique \(`a \fBstart-stop-daemon\fR de supprimer le fichier r\('ef\('erenc\('e par \fB\-\-pid\-file\fR apr\(`es l'arr\(^et du processus. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Affiche des messages prolixes en renseignements. .SH "CODE DE SORTIE" .IX Header "CODE DE SORTIE" .IP \fB0\fR 4 .IX Item "0" L'action demand\('ee a \('et\('e effectu\('ee. Si \fB\-\-oknodo\fR \('etait indiqu\('e, il est \('egalement possible que rien ne se soit pass\('e. Cela peut se produire si \fB\-\-start\fR \('etait indiqu\('e et qu'un processus correspondant \('etait d\('ej\(`a en train de s'ex\('ecuter ou si \fB\-\-stop\fR \('etait indiqu\('e et qu'aucun processus ne correspondait. .IP \fB1\fR 4 .IX Item "1" Si \fB\-\-oknodo\fR n'\('etait pas indiqu\('e et que rien ne s'est pass\('e. .IP \fB2\fR 4 .IX Item "2" Si \fB\-\-stop\fR et \fB\-\-retry\fR \('etaient indiqu\('es mais que la fin de la planification a \('et\('e atteinte et que les processus \('etaient toujours en cours d'ex\('ecution. .IP \fB3\fR 4 .IX Item "3" Toute autre erreur. .PP Lorsque la commande \fB\-\-status\fR est utilis\('ee, les codes d'\('etat suivants sont renvoy\('es\ : .IP \fB0\fR 4 .IX Item "0" Le programme est en cours d'ex\('ecution. .IP \fB1\fR 4 .IX Item "1" Le programme n'est pas en cours d'ex\('ecution et le fichier PID existe. .IP \fB3\fR 4 .IX Item "3" Le programme n'est pas en cours d'ex\('ecution. .IP \fB4\fR 4 .IX Item "4" Impossible de d\('eterminer l'\('etat du programme. .SH EXEMPLE .IX Header "EXEMPLE" D\('emarre le d\('emon \fBfood\fR, \(`a moins qu'il soit d\('ej\(`a en cours d'ex\('ecution (un processus nomm\('e \fBfood\fR, tournant sous le nom d'utilisateur \fBfood\fR, avec un pid dans food.pid)\ : .Sp .Vb 3 \& start\-stop\-daemon \-\-start \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-startas /usr/sbin/food \e \& \-\-chuid food \-\- \-\-daemon .Ve .PP Envoie le signal \fBSIGTERM\fR \(`a \fBfood\fR et attend durant 5 secondes son arr\(^et\ : .Sp .Vb 2 \& start\-stop\-daemon \-\-stop \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-retry 5 .Ve .PP D\('emonstration d'un ordonnanceur personnalis\('e pour l'arr\(^et de \fBfood\fR\ : .Sp .Vb 2 \& start\-stop\-daemon \-\-stop \-\-oknodo \-\-user food \-\-name food \e \& \-\-pidfile /run/food.pid \-\-retry=TERM/30/KILL/5 .Ve .SH TRADUCTION .IX Header "TRADUCTION" Ariel VARDI , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .