tkill, tgkill — send a signal to a single process
int
tkill( |
int | tid, |
int | sig) ; |
int
tgkill( |
int | tgid, |
int | tid, | |
int | sig) ; |
The tkill
() system call is
analogous to kill(2), except when the
specified process is part of a thread group (created by
specifying the CLONE_THREAD
flag in the call to clone(2)). Since all the
processes in a thread group have the same PID, they cannot be
individually signaled with kill(2). With tkill
(), however, one can address each
process by its unique TID.
The tgkill
() call improves
on tkill
() by allowing the
caller to specify the thread group ID of the thread to be
signaled, protecting against TID reuse. If the tgid is
specified as −1, tgkill
()
degenerates into tkill
().
These are the raw system call interfaces, meant for internal thread library use.
On success, zero is returned. On error, −1 is
returned, and errno
is set
appropriately.
An invalid TID or signal was specified.
Permission denied. For the required permissions, see kill(2).
No process with the specified thread ID (and thread group ID) exists.
tkill
() and tgkill
() are Linux specific and should not
be used in programs that are intended to be portable.
|