KILL(1) Commandes de l'utilisateur KILL(1)

kill - Terminer un processus

kill [-signal|-s signal|-p] [-q valeur] [-a] [--timeout millisecondes avant signal] [--] pid|nom...
kill -l [numéro] | -L

La commande kill envoie le signal spécifié aux processus ou aux groupes de processus spécifiés.

Si aucun signal n'est spécifié, celui TERM est envoyé. L'action par défaut de ce signal est de terminer le processus. Il devrait être préféré au signal KILL (numéro 9), car un processus peut mettre en place un gestionnaire du signal TERM afin d'effectuer des étapes de nettoyage avant de terminer de manière ordonnée. Si un processus ne se termine pas avant un signal TERM, le signal KILL peut être utilisé ; mais gardez en tête que ce signal ne peut pas être saisi, donc il ne donne pas au processus cible la chance d'effectuer un nettoyage avant de se terminer.

Most modern shells have a builtin kill command, with a usage rather similar to that of the command described here. The --all, --pid, and --queue options, and the possibility to specify processes by command name, are local extensions.

Si signal vaut 0, aucun signal n'est envoyé mais une vérification d'erreur se fait quand même.

La liste des processus auxquels il faut envoyer un signal peut être un mélange de noms et de PID.
pid
Each pid can be expressed in one of the following ways:
n
n est supérieur à 0. Un signal sera envoyé au processus numéro n.
0
Le signal est envoyé à tous les processus du groupe de processus actuel.
-1
Un signal est envoyé à tous les processus dont le PID est supérieur à 1.
-n
n est supérieur à 1. Un signal sera envoyé à tous les processus du groupe de processus n. Quand un argument sous la forme « -n » est donné et vise à désigner un groupe de processus, vous devez soit désigner d'abord le signal, soit faire précéder l'argument d'une option « -- », sans quoi il sera considéré comme le signal à envoyer.
nom
Un signal sera envoyé à tous les processus appelés en utilisant ce nom.

-s, --signal signal
Le signal à envoyer. Il peut s'agir d'un nom ou d'un numéro.
-l, --list [numéro]
Print a list of signal names, or convert the given signal number to a name. The signals can be found in /usr/include/linux/signal.h.
-L, --table
Identique à -l et il affichera le nom des signaux et leur numéro correspondant.
-a, --all
Ne pas restreindre la conversion nom-vers-PID aux processus sous le même UID que le processus actuel.
-p, --pid
N'afficher que l'ID du processus (PID) des processus ayant un nom, ne pas envoyer de signaux.
--verbose
Print PID(s) that will be signaled with kill along with the signal.
-q, --queue valeur
Send the signal using sigqueue(3) rather than kill(2). The value argument is an integer that is sent along with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_sigval field of the siginfo_t structure.
--timeout millisecondes avant le signal
Send a signal defined in the usual way to a process, followed by an additional signal after a specified delay. The --timeout option causes kill to wait for a period defined in milliseconds before sending a follow-up signal to the process. This feature is implemented using the Linux kernel PID file descriptor feature in order to guarantee that the follow-up signal is sent to the same process or not sent if the process no longer exists.
Note that the operating system may re-use PIDs and implementing an equivalent feature in a shell using kill and sleep would be subject to races whereby the follow-up signal might be sent to a different process that used a recycled PID.
The --timeout option can be specified multiple times: the signals are sent sequentially with the specified timeouts. The --timeout option can be combined with the --queue option.
As an example, the following command sends the signals QUIT, TERM and KILL in sequence and waits for 1000 milliseconds between sending the signals:

kill --verbose --timeout 1000 TERM --timeout 1000 KILL \
        --signal QUIT 12345


kill has the following exit status values:
0
Succès
1
échec
64
succès partiel (quand plus d'un processus est spécifié)

Bien qu'il soit possible de spécifier comme argument de kill le TID (identifiant de fil, voir gettid(2)) d'un des fils dans un processus à plusieurs fils, le signal s'adresse néanmoins au processus (c'est-à-dire à tout le groupe de fils). En d'autres termes, il n'est pas possible d'envoyer un signal à un fil en particulier d'un processus multifils. Le signal sera envoyé à un fil sélectionné arbitrairement dans le processus cible et qui ne bloque pas le signal. Pour plus de détails, voir signal(7) et la description de CLONE_THREAD dans clone(2).

Various shells provide a builtin kill command that is preferred in relation to the kill(1) executable described by this manual. The easiest way to ensure one is executing the command described in this page is to use the full path when calling the command, for example: /bin/kill --version

Salvatore Valente
Karel Zak

La version originale vient de BSD 4.4.

bash(1), tcsh(1), sigaction(2), kill(2), sigqueue(3), signal(7)

La commande kill fait partie du paquet util-linux et est disponible dans l'archive du noyau Linux.

La traduction française de cette page de manuel a été créée par Sylvain Archenault <sylvain.archenault@laposte.net>, Frédéric Zulian <zulian@free.fr>, Grégory Colpart <reg@evolix.fr>, Philippe Piette <foudre-blanche@skynet.be>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Jean-Baka Domelevo-Entfellner <domelevo@gmail.com>, Florentin Duneau <fduneau@gmail.com>, Philippe Piette <foudre-blanche@skynet.be>, Florentin Duneau <fduneau@gmail.com>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

Novembre 2019 util-linux