.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified by Thomas Koenig .\" Modified 1993-07-23 by Rik Faith .\" Modified 1993-07-25 by Rik Faith .\" Modified 1995-11-01 by Michael Haardt .\" .\" Modified 1996-04-14 by Andries Brouwer .\" [added some polishing contributed by Mike Battersby ] .\" Modified 1996-07-21 by Andries Brouwer .\" Modified 1997-01-17 by Andries Brouwer .\" Modified 2001-12-18 by Andries Brouwer .\" Modified 2002-07-24 by Michael Kerrisk .\" Added note on historical rules enforced when an unprivileged process .\" sends a signal. .\" Modified 2004-06-16 by Michael Kerrisk .\" Added note on CAP_KILL .\" Modified 2004-06-24 by aeb .\" Modified, 2004-11-30, after idea from emmanuel.colbus@ensimag.imag.fr .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH KILL 2 "17 septembre 2013" Linux "Manuel du programmeur Linux" .SH NOM kill \- Envoyer un signal à un processus .SH SYNOPSIS .nf \fB#include \fP .br \fB#include \fP .sp \fBint kill(pid_t \fP\fIpid\fP\fB, int \fP\fIsig\fP\fB);\fP .fi .sp .in -4n Exigences de macros de test de fonctionnalités pour la glibc (consultez \fBfeature_test_macros\fP(7))\ : .in .sp .ad l \fBkill\fP()\ : _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE .ad b .SH DESCRIPTION L'appel système \fBkill\fP() peut être utilisé pour envoyer n'importe quel signal à n'importe quel processus ou groupe de processus. .PP Si \fIpid\fP est positif, le signal \fIsig\fP est envoyé au processus dont l'identifiant est indiqué par \fIpid\fP. .PP Si \fIpid\fP vaut zéro, alors le signal \fIsig\fP est envoyé à tous les processus appartenant au même groupe que le processus appelant. .PP Si \fIpid\fP vaut \-1, alors le signal \fIsig\fP est envoyé à tous les processus sauf celui de PID 1 (\fIinit\fP), mais voir plus bas. .PP Si \fIpid\fP est inférieur à \-1, alors le signal \fIsig\fP est envoyé à tous les processus du groupe dont l'identifiant est \fI\-pid\fP. .PP Si \fIsig\fP vaut 0, aucun signal n'est envoyé mais les conditions d'erreur sont vérifiées\ ; ceci peut être utilisé pour vérifier 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 privilèges nécessaires (sous Linux\ : avoir la capacité \fBCAP_KILL\fP), ou l'UID effectif ou réel du processus qui envoie le signal doit être égal au Set\-UID sauvé ou réel du processus cible. Dans le cas du signal \fBSIGCONT\fP, il suffit que les processus envoyant et recevant le signal appartiennent à la même session. (Historiquement, les règles étaient différentes. Consultez les NOTES.) .SH "VALEUR RENVOYÉE" En cas de réussite (au moins un signal a été envoyé) 0 est renvoyé, en cas d'échec \-1 est renvoyé et \fIerrno\fP contient le code d'erreur. .SH ERREURS .TP \fBEINVAL\fP Un signal invalide a été spécifié. .TP \fBEPERM\fP Le processus appelant n'a pas l'autorisation d'envoyer un signal aux processus cibles. .TP \fBESRCH\fP Le processus ou le groupe de processus n'existe pas. Remarquez qu'un processus existant peut être un zombie, c'est\(hyà\(hydire qu'il s'est déjà terminé mais que son père n'a pas encore lu sa valeur de retour avec \fBwait\fP(2). .SH CONFORMITÉ SVr4, BSD\ 4.3, POSIX.1\-2001. .SH NOTES On ne peut envoyer au processus numéro 1 (\fIinit\fP) que des signaux pour lesquels il a expressément installé un gestionnaire. Ceci évite que le système soit arrêté accidentellement. .LP POSIX.1\-2001 réclame que \fIkill(\-1,sig)\fP envoie \fIsig\fP à 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\(hymême, mais l'appel \fIkill(\-1,sig)\fP n'envoie pas le signal au processus appelant. .LP POSIX.1\-2001 réclame que si un processus s'envoie un signal à lui\(hymême, que ce thread ne bloque pas le signal et qu'aucun autre thread ne l'a non bloqué ou et en attente dans un \fBsigwait\fP(3), au moins un signal non bloqué doit être délivré au thread courant avant que l'appel à \fBkill\fP() ne revienne. .SS "Notes sur Linux" .\" In the 0.* kernels things chopped and changed quite .\" a bit - MTK, 24 Jul 02 Suivant les différentes versions du noyau, Linux a utilisé différentes règles pour les permissions nécessaires à un processus non privilégié pour envoyer un signal a un autre processus. Dans les noyaux 1.0 à 1.2.2, un signal pouvait être envoyé si l'UID effectif du processus émetteur correspondait à celui du processus cible, ou si l'UID réel du processus émetteur correspondait à celui du processus cible. Dans les noyaux 1.2.3 à 1.3.77, un signal pouvait être envoyé si l'UID effectif du processus émetteur correspondait à l'UID effectif ou réel du processus cible. Les règles actuelles, conformes à POSIX.1\-2001 ont été adoptées dans le noyau 1.3.78. .SH BOGUES Dans les noyaux 2.6 jusqu'à 2.6.7 inclus, en raison d'un bogue, lorsqu'un signal était envoyé à un groupe de processus, \fBkill\fP() échouait avec l'erreur \fBEPERM\fP si l'appelant n'avait pas la permission d'envoyer le signal à \fItous\fP les membres du groupe. En dépit de ce code d'erreur, le signal était cependant bien envoyé à tous les processus pour lesquels l'appelant en avait la permission. .SH "VOIR AUSSI" \fB_exit\fP(2), \fBkillpg\fP(2), \fBsignal\fP(2), \fBtkill\fP(2), \fBexit\fP(3), \fBsigqueue\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7), \fBsignal\fP(7) .SH COLOPHON Cette page fait partie de la publication 3.65 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%http://www.kernel.org/doc/man\-pages/. .SH TRADUCTION Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a par l'équipe de traduction francophone au sein du projet perkamon . .PP Christophe Blaess (1996-2003), Alain Portal (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian\ (2006-2009). .PP Veuillez signaler toute erreur de traduction en écrivant à ou par un rapport de bogue sur le paquet \fBmanpages\-fr\fR. .PP Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande «\ \fBman\ \-L C\fR \fI
\fR\ \fI\fR\ ».