KILL

Section: Manuel du programmeur Linux (2)
Updated: 19 janvier 2002
Index Retour au Menu Principal

 

NOM

kill - Envoyer un signal à un processus.  

SYNOPSIS

#include <signal.h>

int kill(pid_t pid, int sig);
 

DESCRIPTION

L'appel-système kill peut être utilisé pour envoyer n'importe quel signal à n'importe quel processus ou groupe de processus.

Si pid est positif, le signal sig est envoyé au processus pid.

Si pid vaut zéro, alors le signal sig est envoyé à tous les processus appartenant au même groupe que le processus appelant.

Si pid vaut -1, alors le signal sig est envoyé à tous les processus sauf celui de PID 1 (init), mais voir plus bas.

Si pid est inférieur à -1, alors le signal sig est envoyé à tous les processus du groupe -pid.

Si sig vaut 0, aucun signal n'est envoyé mais les conditions d'erreur sont vérifiées.  

VALEUR RENVOYÉE

En cas de réussite 0 est renvoyé, en cas d'échec -1 est renvoyé et errno contient le code d'erreur.  

ERREURS

EINVAL
Numéro de signal invalide.
ESRCH
Le processus ou le groupe de processus n'existe pas. Remarquez qu'un processus existant peut être un zombie, c'est à dire qu'il s'est déjà terminé mais que son père n'a pas encore lu sa valeur de retour avec wait().
EPERM
Le processus appelant n'a pas l'autorisation d'envoyer un signal à l'un des processus concernés. Pour qu'un processus ait le droit d'envoyer un signal à un autre processus pid il doit avoir des privilèges de Super-Utilisateur, ou avoir un UID réel ou effectif égal à l'ID réel ou sauvegardé du processus récepteur. Dans le cas de SIGCONT, il suffit que les processus émetteur et récepteur appartiennent à la même session.
 

NOTES

On ne peut pas envoyer de signal au processus numéro un (init), qui ne dispose pas de routine de gestion de signaux. Ceci évite que le système soit arrêté accidentellement.

POSIX 1003.1-2001 réclame que kill(-1,sig) envoie sig à tous les processus accessibles par le processus appelant, sauf à certains processus système dépendant de l'implémentation. Linux autorise un processus à s'envoyer un signal à lui-même, mais l'appel kill(-1,sig) n'envoie pas le signal au processus appelant.  

CONFORMITÉ

SVr4, AT&T, POSIX.1, X/OPEN, BSD 4.3  

VOIR AUSSI

_exit(2), exit(2), signal(2), signal(7).

 

TRADUCTION

Christophe Blaess, 1997.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
CONFORMITÉ
VOIR AUSSI
TRADUCTION


Time: 21:40:28 GMT, December 19, 2004