1. NOM

tkill, tgkill - Envoyer un signal à un thread

2. SYNOPSIS

 
Sélectionnez
int tkill(int tid, int sig);
int tgkill(int tgid, int tid, int sig);

La glibc ne fournit pas de fonction autour de ces appels système ; consultez les NOTES.

3. DESCRIPTION

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.

4. VALEUR RENVOYÉE

S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

5. 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, consultez kill(2).
  • ESRCH
        Il n'y a pas de processus avec le TID (et TGID) indiqué.

6. VERSIONS

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

7. CONFORMITÉ

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

8. NOTES

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

9. VOIR AUSSI

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

10. COLOPHON

Cette page fait partie de la publication 3.52 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/.

11. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <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 à <>.

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