Linux

CentOS 4.8

kill(2)


KILL

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.


kill(2)