kill (Unix)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En informatique, kill est une commande de certains systèmes d'exploitation (particulièrement Unix et ses dérivés) utilisée pour demander l'arrêt d'un processus en cours d'exécution.

Implémentations[modifier | modifier le code]

Dans les systèmes Unix et apparenté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 commande kill encapsule l'appel système kill(), lequel envoie des signaux aux processus ou groupes de processus, référencés par leur identifiant (PID ou PGID). kill est toujours fournie sous la forme d'un utilitaire à part entière, mais la plupart des shells possèdent également leur propre commande kill 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éralement SIGTERM et SIGKILL. Le signal envoyé par défaut est SIGTERM. À l'exception de SIGKILL et de SIGSTOP, 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 le noyau ; SIGKILL termine le processus, SIGSTOP le place en arrêt jusqu'à la réception d'un signal SIGCONT.

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.

Exemples[modifier | modifier le code]

Les trois exemples ci-dessous envoient le signal SIGTERM (numéroté 15) à un processus (identifié ici par le PID 1234) :

  • kill 1234
  • kill -TERM 1234
  • kill -15 1234

Les deux exemples ci-dessous envoient le signal SIGKILL (numéroté 9) à ce même processus :

  • kill -KILL 1234
  • kill -9 1234

Voir aussi[modifier | modifier le code]

Liens internes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Références[modifier | modifier le code]