Linux |
CentOS 5.3 |
|
tgkill(2) |
tkill, tgkill − Envoyer un signal à un processus unique. |
#include <sys/types.h> #include <linux/unistd.h> #include <errno.h> _syscall2(int, tkill, int, tid, int, sig) /* L’utilisation de syscall(2) est préférable ; voir intro(2) */ int tkill(int tid, int sig); _syscall3(int, tkgill, int, tgid, int, tid, int, sig) /* L’utilisation de syscall(2) est préférable ; voir intro(2) */ int tgkill(int tgid, int tid, int sig); |
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(). 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. |
S’il réussit, l’appel renvoie zéro. Sinon il renvoie −1 et écrit errno en conséquence. |
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é. |
tkill() et tgkill() sont spécifiques à Linux et ne doivent pas être utilisés dans un programme conçu pour être portable. |
tkill() est supporté depuis Linux 2.4.19/2.5.4. tgkill() a été ajouté dans Linux 2.5.75. |
gettid(2), kill(2) |
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 14 août 2006. 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. |
tgkill(2) |