sourCEntral - mobile manpages

pdf

tkill

NOM

tkill, tgkill - Envoyer un signal à un thread

BIBLIOTHÈQUE

Bibliothèque C standard (libc, -lc)

SYNOPSIS

#include <signal.h> /* Définition des constantes SIG* */
#include <sys/syscall.h>
/* Définition des constantes SYS_* */
#include <unistd.h>

[[obsolète]] int syscall(SYS_tkill, pid_t tid, int sig);

#include <signal.h>

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

Remarque : La glibc ne fournit pas d’enveloppe pour tkill() ; appelez-le avec syscall(2).

DESCRIPTION

tgkill() envoie le signal sig au thread qui a pour identifiant tid dans le groupe de thread tgid. (Contrairement à kill(2) qui ne peut être utilisé que pour envoyer un signal à tout un processus (c’est-à-dire un groupe de threads) ; 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, ce 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.

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

VALEUR RENVOYÉE

En cas de succès, zéro est renvoyé. En cas d’erreur, -1 est renvoyé et errno est définie pour préciser l’erreur.

ERREURS

EAGAIN

La limite de ressources RLIMIT_SIGPENDING a été atteinte et sig est un signal en temps réel.

EAGAIN

La mémoire disponible du noyau est insuffisante et sig est un signal en temps réel.

EINVAL

L’identifiant de thread ou l’identifiant de groupe de threads 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 le TGID) indiqué.

VERSIONS

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

La prise en charge de la bibliothèque pour tgkill() a été ajoutée dans la glibc 2.30.

STANDARDS

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

NOTES

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

Avant la glibc 2.30, il n’y avait pas non plus de fonction d’enveloppe pour tgkill().

VOIR AUSSI

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

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 DOT rafin AT laposte DOT net>, Thierry Vignaud <tvignaud AT mandriva DOT com>, François Micaux, Alain Portal <aportal AT univ-montp2 DOT fr>, Jean-Philippe Guérard <fevrier AT tigreraye DOT org>, Jean-Luc Coulon (f5ibh) <jean-luc DOT coulon AT wanadoo DOT fr>, Julien Cristau <jcristau AT debian DOT org>, Thomas Huriaux <thomas DOT huriaux AT gmail DOT com>, Nicolas François <nicolas DOT francois AT centraliens DOT net>, Florentin Duneau <fduneau AT gmail DOT com>, Simon Paillard <simon DOT paillard AT resel DOT enst-bretagne DOT fr>, Denis Barbier <barbier AT debian DOT org>, David Prévot <david AT tilapin DOT org>, Cédric Boutillier <cedric DOT boutillier AT gmail DOT com>, Frédéric Hantrais <fhantrais AT gmail DOT com> et Jean-Pierre Giraud <jean-pierregiraud AT neuf DOT fr>

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.

pdf