Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       kill - Envoyer un signal à un processus

SYNOPSIS

       #include <signal.h>

       int kill(pid_t pid, int sig);

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

       kill():
           _POSIX_C_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 0, 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 pour lesquels le
       processus appelant est autorisé à envoyer des signaux, 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  des  vérifications  d’existence  et  de
       permissions  sont  réalisées.  Cela  peut  être  utilisé  pour  vérifier  l'existence d'un
       identifiant de processus ou d'un identifiant de groupe de processus auquel l'appelant a le
       droit d'envoyer un signal.

       Pour  qu'un  processus  puisse envoyer un signal, il doit avoir les privilèges nécessaires
       (sous Linux : avoir la capacité CAP_KILL dans l'espace de noms  utilisateur  du  processus
       cible),  ou  l'UID  effectif  ou  réel du processus qui envoie le signal doit être égal au
       Set-UID sauvegardé 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.
       (Historiquement, les règles étaient différentes. Consultez les NOTES.)

VALEUR RENVOYÉE

       On success (at least one signal was sent), zero is returned. On error, -1 is returned, and
       errno is set to indicate the error.

ERREURS

       EINVAL Un signal non valable a été spécifié.

       EPERM  Le processus appelant n'a pas l'autorisation d'envoyer un signal à un des processus
              cibles.

       ESRCH  Le processus ou  le  groupe  de  processus  cible  n'existe  pas.  Remarquez  qu'un
              processus  existant  peut être un zombie, c'est-à-dire qu'il s'est terminé mais n'a
              pas encore été mis en wait(2).

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES

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

       POSIX.1 réclame que kill(-1,sig) envoie sig à tous les processus auxquels l'appelant  peut
       envoyer  un signal, 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  réclame  que  si  un  processus  s'envoie un signal à lui-même, et si le thread à
       l'origine de l'envoi n'a pas les signaux bloqués, et si aucun autre thread ne le  débloque
       ou  ne  l'attende  dans  un sigwait(3), au moins un signal non bloqué doit être délivré au
       thread à l'origine de l'envoi avant que l'appel à kill() ne soit renvoyé.

   Notes pour Linux
       Au fil des  différentes  versions  du  noyau,  Linux  a  renforcé  les  règles  de  droits
       nécessaires  pour  qu'un  processus  non privilégié envoie un signal à 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,  ont  été  adoptées
       dans le noyau 1.3.78.

BOGUES

       Dans  les  noyaux 2.6  jusqu'au 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 n'avait
       pas la permission d'envoyer le signal à quelques (plutôt qu’à tous) 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.

VOIR AUSSI

       kill(1),   _exit(2),   pidfd_send_signal(2),   signal(2),  tkill(2),  exit(3),  killpg(3),
       sigqueue(3), capabilities(7), credentials(7), signal(7)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais  <fhantrais@gmail.com>  et  Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.