tkill
Section: System Calls (2)
Updated: 4 décembre 2022
Index
Return to Main Contents
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.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-Pierre Giraud <jean-pierregiraud@neuf.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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- VERSIONS
-
- STANDARDS
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 03:54:38 GMT, May 23, 2024