.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 "2022-09-01" "1.20.12" "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 \&\s-1TERM\s0 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 \s-1LSB\s0 (\(Fo \s-1LSB\s0 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 \fIpidfile\fR" 4 .IX Item "-p, --pidfile pidfile" Check whether a process has created the file \fIpidfile\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" Check for processes that are instances of this \fIexecutable\fR. The \&\fIexecutable\fR argument should be an absolute pathname. .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" Check for processes with the name \fIprocess-name\fR. The \fIprocess-name\fR is usually the process filename, but it could have been changed by the process itself. .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" Check for processes owned by the user specified by \fIusername\fR or \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 : \s-1TERM\s0). .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 pour cet utilisateur ou \(Fo uid \(Fc avant de lancer le processus. On peut aussi pr\('eciser un groupe en ajoutant un \fB:\fR, puis le groupe ou un \(Fo gid \(Fc de la m\(^eme fa\(,con qu'avec la commande \fBchown\fR(1) (\fIutilisateur\fR\fB:\fR\fIgroupe\fR). Lorsqu'un utilisateur est indiqu\('e mais pas de groupe alors le groupe primaire de celui-ci est utilis\('e. Quand on utilise cette option, on doit veiller \(`a ce que les groupes primaires ainsi que les groupes secondaires existent bien, m\(^eme si l'option \fB\-\-group\fR n'est pas sp\('ecifi\('ee. L'option \fB\-\-group\fR 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\('en\('eriques comme \fBnobody\fR). .IP "\fB\-r\fR, \fB\-\-chroot\fR \fIroot\fR" 4 .IX Item "-r, --chroot root" Change directory and chroot to \fIroot\fR before starting the process. Please note that the pidfile is also written after the chroot. .IP "\fB\-d\fR, \fB\-\-chdir\fR \fIchemin\fR" 4 .IX Item "-d, --chdir chemin" Change directory to \fIpath\fR before starting the process. This is done after the chroot if the \fB\-r\fR|\fB\-\-chroot\fR option is set. When not specified, \&\fBstart-stop-daemon\fR will change directory to the root directory before starting the process. .IP "\fB\-b\fR, \fB\-\-background\fR" 4 .IX Item "-b, --background" Typically used with programs that don't detach on their own. This option will force \fBstart-stop-daemon\fR to fork before starting the process, and force it into the background. .Sp \&\fBWarning: start-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" Attend que le processus en arri\(`ere\-plan envoie une notification de disponibilit\('e avant de consid\('erer que le service est d\('emarr\('e (depuis la version 1.19.3). Cela met en \(oeuvre des \('el\('ements du protocole de disponibilit\('e de systemd, comme sp\('ecifi\('e dans la page de manuel de \&\fBsd_notify\fR(3). Les variables suivantes sont prises en charge : .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 \fItimeout\fR" 4 .IX Item "--notify-timeout timeout" 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 \fIpathname\fR" 4 .IX Item "-O, --output pathname" Redirect \fBstdout\fR and \fBstderr\fR to \fIpathname\fR when forcing the daemon into the background (since version 1.20.6). Only relevant when using \&\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. .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 \s-1IO\s0 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. .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" Used when starting a program that does not create its own pid file. This option will make \fBstart-stop-daemon\fR create the file referenced with \&\fB\-\-pidfile\fR and place the pid into it just before executing the process. Note, the file will only be removed when stopping the program if \&\fB\-\-remove\-pidfile\fR is used. .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 \s-1PID\s0 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 \fB\s-1SIGTERM\s0\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 \s-1VARDI\s0 , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .