tkill(2)

NOM
tkill, tgkill - Envoyer un signal à un processus unique

SYNOPSIS
int tkill(int tid, int sig);

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

DESCRIPTION
L'appel système tkill() est analogue à kill(2), sauf si le processus en question est membre d'un groupe de threads (créé en utilisant l'attribut CLONE_THREAD de l'appel système clone(2)). Comme tous les processus d'un groupe de threads ont le même PID, ils ne peuvent pas être visés individuellement avec kill(2). Avec tkill() toutefois, on peut s'adresser à un processus donné grâce à son TID unique.

L'appel tgkill() améliore l'appel tkill() en permettant à l'appelant de spécifier le TGID du thread à signaler, protégeant une réutilisation du TID. Si une valeur -1 est spécifiée comme TGID, tgkill() se dégénère en tkill().

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

VALEUR RENVOYÉE
S'il réussit, l'appel renvoie zéro. Sinon il renvoie -1 et écrit errno en conséquence.

ERREURS

EINVAL
    Le TID ou le numéro de signal n'est pas valide.

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
La glibc ne fournit pas d'enveloppe pour cet appel système ; appelez-le avec syscall(2).

VOIR AUSSI
gettid(2), kill(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 18 juillet 2003 et révisée le 17 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 tkill ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.