Pour les articles homonymes, voirKill.
Eninformatique,kill
est unecommande de certainssystèmes d'exploitation (normePOSIX[1]) utilisée pour demander l'arrêt d'unprocessus en cours d'exécution.
Dans les systèmesUnix etapparentés,kill
permet d'envoyer des messages simples aux processus en cours d'exécution.Par défaut, le message est un signal d'arrêt, demandant la fin du processus. La commandekill
encapsule l'appel systèmekill()
, lequel envoie des signaux aux processus ou groupes de processus, référencés par leuridentifiant (PID ou PGID).kill
est toujours fournie sous la forme d'un utilitaire à part entière, mais la plupart desshells possèdent également leur propre commandekill
dont l'implémentation peut être légèrement différente.
Parmi les différents signaux qui peuvent être envoyés, les plus courants sont généralementSIGTERM etSIGKILL. Le signal envoyé par défaut est SIGTERM. À l'exception de SIGKILL et deSIGSTOP, tous les signaux peuvent être interceptés par le processus, lui offrant la possibilité d'effectuer des opérations spécifiques lorsqu'il les reçoit. SIGKILL et SIGSTOP ne sont vus que par lenoyau ; SIGKILL termine le processus, SIGSTOP le place en arrêt jusqu'à la réception d'un signalSIGCONT.
Unix met en place des mécanismes de sécurité afin d'éviter que des utilisateurs ne terminent les processus s'il n'y sont pas autorisés. De façon générale, pour qu'un processus envoie un signal à un autre, le propriétaire du premier doit être le même que celui du deuxième, ou l'utilisateur root.
Suivant les implémentations Unix, les signaux disponibles peuvent avoir des noms différents, et peuvent être assignés à différents numéros. SIGTERM est souvent numéroté 15 et SIGKILL, 9.
Les quatre exemples ci-dessous envoient le signal SIGTERM (numéroté 15) à un processus (identifié ici par le PID 1234) :
kill1234kill-sTERM1234kill-TERM1234kill-151234
Les trois exemples ci-dessous envoient le signal SIGKILL (numéroté 9) à ce même processus :
kill-sKILL1234kill-KILL1234kill-91234
L'exemple ci-dessous envoie le signal SIGKILL (numéroté 9) à tous les processus sauf le PID n°1 (effet limité au processus de l'UID sous laquelle on est connecté dû au mécanisme de sécurité, à tout le monde siutilisateur root) :
kill-9-1
POSIX | |
---|---|
hors POSIX |
Aide | ![]() | |
---|---|---|
Environnementutilisateur | ||
Gestion deprocessus | ||
Manipulation detexte | ||
Programmationshell | ||
Recherche | ||
Réseau | ||
Système de fichiers | ||
Divers |