Provided by: manpages-fr-dev_4.26.0-1_all bug

NOM

       kill - Envoyer un signal à un processus

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

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

       En  cas  de  réussite  (au  moins un signal a été envoyé) 0 est renvoyé, en cas d'échec -1 est renvoyé et
       errno positionné pour indiquer l'erreur.

ERREURS

       EINVAL Un signal invalide 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).

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, SVr4, 4.3BSD.

   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 Linux de 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 Linux de  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
       Linux 1.3.78.

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

BOGUES

       Dans  Linux  2.6  jusqu'à  Linux  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)

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

Pages du manuel de Linux 6.9.1                     2 mai 2024                                            kill(2)