start-stop-daemon [option...] commande
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 --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, 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 or
--retry). Pour les démons avec des processus enfant qui
doivent survivre à un --stop, il est nécessaire
d'indiquer un fichier pid (« pidfile »).
- -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 if --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 et le copyright, puis quitte.
- -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 instances de cet
exécutable. Le paramètre exécutable
doit être un chemin absolu. Note : ceci 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
nomdeprocessus
- 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
nomdutilisateur|uid
- Contrôle l'existence de processus dont le propriétaire est
identifiant ou uid. Note : si cette option est
utilisée isolément, tous les processus de cet utilisateur
seront concernés par l'action.
- -g, --group
group|gid
- Modifie le group 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é 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-number ou
de la forme [-]signal-name, 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
chemin/nom
- Avec l'action --start, lance le processus spécifié
par chemin/nom. 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
path
- Chdir to path before starting the process. This is done after the
chroot if the -r|--chroot option is set. When not specified,
start-stop-daemon will chdir to the root directory before starting
the process.
- -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
mask
- 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 n'est pas
supprimé quand le programme s'arrête. 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.
- -v, --verbose
- Affiche des messages prolixes en renseignements.
- 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 --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.
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
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe
Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute
erreur à <debian-l10n-french@lists.debian.org>.