Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
kill - Envoyer un signal a un processus
SYNOPSIS
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
kill() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION
L'appel systeme kill() peut etre utilise pour envoyer n'importe quel
signal a n'importe quel processus ou groupe de processus.
Si pid est positif, le signal sig est envoye au processus dont
l'identifiant est indique par pid.
Si pid vaut zero, alors le signal sig est envoye a tous les processus
appartenant au meme groupe que le processus appelant.
Si pid vaut -1, alors le signal sig est envoye a tous les processus
sauf celui de PID 1 (init), mais voir plus bas.
Si pid est inferieur a -1, alors le signal sig est envoye a tous les
processus du groupe dont l'identifiant est -pid.
Si sig vaut 0, aucun signal n'est envoye mais les conditions d'erreur
sont verifiees ; ceci peut etre utilise pour verifier l'existence d'un
identifiant de processus ou d'un identifiant de groupes de processus.
Pour qu'un processus puisse envoyer un signal, il doit avoir les
privileges necessaires (sous Linux : avoir la capacite CAP_KILL), ou
l'UID effectif ou reel du processus qui envoie le signal doit etre egal
au Set-UID sauve ou reel du processus cible. Dans le cas du signal
SIGCONT, il suffit que les processus envoyant et recevant le signal
appartiennent a la meme session.
VALEUR RENVOY'EE
En cas de reussite (au moins un signal a ete envoye) 0 est renvoye, en
cas d'echec -1 est renvoye et errno contient le code d'erreur.
ERREURS
EINVAL Un signal invalide a ete specifie.
EPERM Le processus appelant n'a pas l'autorisation d'envoyer un signal
aux processus cibles.
ESRCH Le processus ou le groupe de processus n'existe pas. Remarquez
qu'un processus existant peut etre un zombie, c'est-a-dire qu'il
s'est deja termine mais que son pere n'a pas encore lu sa valeur
de retour avec wait(2).
CONFORMIT'E
SVr4, BSD 4.3, POSIX.1-2001.
NOTES
On ne peut envoyer au processus numero 1 (init) que des signaux pour
lesquels il a expressement installe un gestionnaire. Ceci evite que le
systeme soit arrete accidentellement.
POSIX.1-2001 reclame que kill(-1,sig) envoie sig a tous les processus
accessibles par le processus appelant, sauf a certains processus
systeme dependant de l'implementation. Linux autorise un processus a
s'envoyer un signal a lui-meme, mais l'appel kill(-1,sig) n'envoie pas
le signal au processus appelant.
POSIX.1-2001 reclame que si un processus s'envoie un signal a lui-meme,
que ce thread ne bloque pas le signal et qu'aucun autre thread ne l'a
non bloque ou et en attente dans un sigwait(3), au moins un signal non
bloque doit etre delivre au thread courant avant que l'appel a kill()
ne revienne.
Notes sur Linux
Suivant les differentes versions du noyau, Linux a utilise differentes
regles pour les permissions necessaires a un processus non privilegie
pour envoyer un signal a un autre processus. Dans les noyaux 1.0 a
1.2.2, un signal pouvait etre envoye si l'UID effectif de l'emetteur
correspondait a celui du recepteur, ou si l'UID reel de l'emetteur
correspondant a celui du recepteur. Dans les noyaux 1.2.3 a 1.3.77, un
signal pouvait etre envoye si l'UID effectif de l'emetteur
correspondait a l'UID effectif ou reel du recepteur. Les regles
actuelles, conformes a POSIX.1-2001 ont ete adoptees dans le noyau
1.3.78.
BOGUES
Dans les noyaux 2.6 jusqu'a 2.6.7 inclus, en raison d'un bogue,
lorsqu'un signal etait envoye a un groupe de processus, kill() echouait
avec l'erreur EPERM si l'appelant avait permission d'envoyer le signal
a l'un des membres du groupe, mais pas a tous. Malgre ce code d'erreur,
le signal etait bien envoye a tous les processus pour lesquels
l'appelant en avait la permission.
VOIR AUSSI
_exit(2), killpg(2), signal(2), sigqueue(2), tkill(2), exit(3),
capabilities(7), credentials(7), signal(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.