Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       kill - Envoyer un signal à un processus

SYNOPSIS

       #include <sys/types.h>
       #include <signal.h>

       int kill(pid_t pid, int sig);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       kill() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE

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 dont l'identifiant est indiqué
       par 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
       dont l'identifiant est -pid.

       Si  sig  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é CAP_KILL), 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  SIGCONT,  il  suffit  que  les  processus  envoyant  et  recevant  le   signal
       appartiennent à la même session.

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 errno contient le code d'erreur.

ERREURS

       EINVAL Un signal invalide a été spécifié.

       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 ê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(2).

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001.

NOTES

       On  ne  peut  envoyer  au  processus  numéro  1  (init) que des signaux pour lesquels il a
       expressément  installé  un  gestionnaire.  Ceci  évite  que   le   système   soit   arrêté
       accidentellement.

       POSIX.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.

       POSIX.1-2001 réclame que si un processus s'envoie un signal à lui‐mê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
       sigwait(3), au moins un signal non bloqué doit être délivré au thread  courant  avant  que
       l'appel à kill() ne revienne.

   Notes sur Linux
       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 de
       l'émetteur  correspondait  à  celui  du  récepteur,  ou  si  l'UID  réel   de   l'émetteur
       correspondant à celui du récepteur. Dans les noyaux 1.2.3 à 1.3.77, un signal pouvait être
       envoyé si l'UID  effectif  de  l'émetteur  correspondait  à  l'UID  effectif  ou  réel  du
       récepteur.  Les  règles actuelles, conformes à POSIX.1-2001 ont été adoptées dans le noyau
       1.3.78.

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, kill() échouait avec l'erreur EPERM si l'appelant avait
       permission d'envoyer le signal à l'un des membres du groupe, mais pas à  tous.  Malgré  ce
       code  d'erreur,  le signal était bien envoyé à 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.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe 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'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».