Aller au contenu

SIGKILL

Un article de Wikipédia, l'encyclopédie libre.

Au sein des plateformes répondant aux normes POSIX, SIGKILL est le signal envoyé à un processus afin de provoquer sa fin immédiate. La constante symbolique du préprocesseur C pour SIGKILL est définie dans le fichier d'en-tête signal.h. Les noms symboliques de signaux sont utilisés car les numéros de signaux peuvent varier, au sein des différentes plateformes; néanmoins sur la vaste majorité des systèmes, SIGKILL est le signal numéro 9.

Étymologie

[modifier | modifier le code]

SIG est un préfixe commun pour les noms de signaux. KILL représente l'action de faire s'arrêter un processus immédiatement, ou le "tuer" = Kill.

Lorsqu'il est envoyé à un programme, SIGKILL a pour effet l'arrêt immédiat. Par contraste avec SIGTERM et SIGINT, ce signal ne peut être capté ou ignoré, et le processus récepteur ne peut effectuer aucun nettoyage.

  • Les processus zombies ne peuvent être "tués", étant déjà morts et attendant que leurs processus parents les "enterrent".
  • Les processus dans un mode bloqué ne mourront pas tant qu'ils ne sont pas réveillés à nouveau.
  • Le processus init est spécial : il ne reçoit pas les signaux qu'il ne veuille gérer, et donc il peut ignorer SIGKILL.
  • SIGKILL ne laissant aucune opportunité au processus "tué" d'effectuer une opération de nettoyage, dans la plupart des systèmes les procédures d'arrêt essaient d'abord de terminer un processus en utilisant SIGTERM, avant d'utiliser SIGKILL.
  • Un processus en sommeil ininterruptible peut ne pas s'arrêter (ni libérer ses ressources) même lorsque SIGKILL apparaît. Il s'agit d'un des rares cas dans lequel un système UNIX doit être redémarré afin de régler un problème logiciel temporaire.

Bibliographie

[modifier | modifier le code]