SIGKILL
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
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.
Usage
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 ne peut 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
- Linux system programming, Robert Love, O'Reilly Media, 2007, (ISBN 9780596009588)
Source
- (en) Cet article est partiellement ou en totalitĂ© issu de lâarticle de WikipĂ©dia en anglais intitulĂ© « SIGKILL » (voir la liste des auteurs).