start-stop-daemon(8) 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
Check for the existence of a specified process, and returns an exit status code, according to the LSB Init Script Actions (since version 1.16.1).
-H, --help
Affiche un message d'aide, puis quitte.
-V, --version
Affiche la version du programme, puis quitte.

OPTIONS

Options de correspondance

[--pid] pid
Check for a process with the specified pid (since version 1.17.6). The pid must be a number greater than 0.
[--ppid] pid parent
Check for a process with the specified parent pid ppid (since version 1.17.7). The ppid must be a number greater than 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 to this username/uid before starting the process. You can also specify a group by appending a :, then the group or gid in the same way as you would for the chown(1) command (user:group). 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 --group option is not specified. The --group option is only for groups that the user isn't normally a member of (like adding per process group membership for generic users like 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
Typically used with programs that don't detach on their own. This option will force start-stop-daemon to fork before starting the process, and force it into the background. Warning: start-stop-daemon cannot check the exit status if the process fails to execute for any 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.
-C, --no-close
Do not close any file descriptor when forcing the daemon into the background (since version 1.16.5). Used for debugging purposes to see the process output, or to redirect file descriptors to log the process output. Only relevant when using --background.
-N, --nicelevel int
Cela modifie la priorité du processus avant qu'il ne soit lancé.
-P, --procsched politique:priorité
This alters the process scheduler policy and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.
-I, --iosched classe:priorité
This alters the IO scheduler class and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 4, unless class is idle, then priority will always be 7. The currently supported values for class are idle, best-effort and real-time.
-k, --umask masque
This sets the umask of the process before starting it (since version 1.13.22).
-m, --make-pidfile
Used when starting a program that does not create its own pid file. This option will make start-stop-daemon create the file referenced with --pidfile and place the pid into it just before executing the process. Note, the file will only be removed when stopping the program if --remove-pidfile is used. Note: 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 --background option.
--remove-pidfile
Used when stopping a program that does not remove its own pid file (since version 1.17.19). This option will make start-stop-daemon remove the file referenced with --pidfile after terminating the process.
-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 <[email protected]>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <[email protected]>.