kill (Unix)
Pour les articles homonymes, voir Kill.
En informatique, kill est une commande de certains systemes d'exploitation (norme POSIX[1]) utilisee pour demander l'arret d'un processus en cours d'execution.
Implementations
[modifier | modifier le code]Dans les systemes Unix et apparentes, kill permet d'envoyer des messages simples aux processus en cours d'execution. Par defaut, le message est un signal d'arret, demandant la fin du processus. La commande kill encapsule l'appel systeme kill(), lequel envoie des signaux aux processus ou groupes de processus, references par leur identifiant (PID ou PGID). kill est toujours fournie sous la forme d'un utilitaire a part entiere, mais la plupart des shells possedent egalement leur propre commande kill dont l'implementation peut etre legerement differente.
Parmi les differents signaux qui peuvent etre envoyes, les plus courants sont generalement SIGTERM et SIGKILL. Le signal envoye par defaut est SIGTERM. A l'exception de SIGKILL et de SIGSTOP, tous les signaux peuvent etre interceptes par le processus, lui offrant la possibilite d'effectuer des operations specifiques lorsqu'il les recoit. SIGKILL et SIGSTOP ne sont vus que par le noyau ; SIGKILL termine le processus, SIGSTOP le place en arret jusqu'a la reception d'un signal SIGCONT.
Unix met en place des mecanismes de securite afin d'eviter que des utilisateurs ne terminent les processus s'il n'y sont pas autorises. De facon generale, pour qu'un processus envoie un signal a un autre, le proprietaire du premier doit etre le meme que celui du deuxieme, ou l'utilisateur root.
Suivant les implementations Unix, les signaux disponibles peuvent avoir des noms differents, et peuvent etre assignes a differents numeros. SIGTERM est souvent numerote 15 et SIGKILL, 9.
Exemples
[modifier | modifier le code]Les quatre exemples ci-dessous envoient le signal SIGTERM (numerote 15) a un processus (identifie ici par le PID 1234) :
kill -s TERM 1234
kill -TERM 1234
kill -15 1234
Les trois exemples ci-dessous envoient le signal SIGKILL (numerote 9) a ce meme processus :
kill -KILL 1234
kill -9 1234
L'exemple ci-dessous envoie le signal SIGKILL (numerote 9) a tous les processus sauf le PID ndeg1 (effet limite au processus de l'UID sous laquelle on est connecte du au mecanisme de securite, a tout le monde si utilisateur root) :
Notes et references
[modifier | modifier le code]- | (en) << POSIX Interface Library: liboskit_posix.a >>
Voir aussi
[modifier | modifier le code]Liens internes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- << Kill - Manuel de l'utilisateur Linux >>, Debian Man Page Lookup (consulte le )
| POSIX | |
|---|---|
| hors POSIX | |
| Aide | ||
|---|---|---|
| Environnement utilisateur | ||
| Gestion de processus | ||
| Manipulation de texte | ||
| Programmation shell | ||
| Recherche | ||
| Reseau | ||
| Systeme de fichiers | ||
| Divers | ||