Loading

NOM

       tkill, tgkill - Envoyer un signal à un thread.

SYNOPSIS

       int tkill(int tid, int sig);

       int tgkill(int tgid, int tid, int sig);

       tgkill() envoie le signal sig au thread qui a pour identifiant tid dans
       le groupe tgid. (Contrairement à kill(2) qui ne peut être  utilisé  que
       pour  envoyer  un  signal  à  un  processus  (c’est-à-dire un groupe de
       thread) ; le signal étant envoyé à n’importe quel thread du processus)

       tkill() est l’ancienne version de  tgkill()  et  est  obsolète.  Il  ne
       permet que de préciser l’identifiant du thread cible, qui peut résulter
       en un envoi du signal au mauvais thread si le thread se termine et  que
       son identifiant est ré-utilisé. Évitez d’utiliser cet appel système.

       Si tgid vaut -1, tgkill() est équivalent à tkill().

       Ce  sont  des appels système bruts, conçus pour une utilisation dans la
       bibliothèque des threads.

VALEUR RENVOYÉE

       En cas de réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       EINVAL L’identifiant  de thread ou l’identifiant de groupe de thread ou
              le numéro de signal n’est pas valable.

       EPERM  Permission  refusée.  Pour  les  permissions  nécessaires,  voir
              kill(2).

       ESRCH  Il n’y a pas de processus avec le TID (et TGID) indiqué.

VERSIONS

       tkill()  est  supporté depuis Linux 2.4.19/2.5.4. tgkill() a été ajouté
       dans Linux 2.5.75.

CONFORMITÉ

       tkill() et tgkill() sont spécifiques à Linux et  ne  doivent  pas  être
       utilisés dans un programme conçu pour être portable.

NOTES

       Voir  la description de CLONE_THREAD dans clone(2) pour une explication
       sur les groupes de threads.

       La glibc ne fournit pas de fonction  autour  de  ces  appels  systène ;
       utilisez syscall(2) pour les appeler.

VOIR AUSSI

       clone(2), gettid(2), kill(2)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       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/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

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