tkill(2) - Linux man page
Name
tkill, tgkill - send a signal to a threadSynopsis
int tkill(int tid, int sig); int tgkill(int tgid, int tid, int sig);Note: There are no glibc wrappers for these system calls; see NOTES.
Description
tkill() is an obsolete predecessor to tgkill(). It only allows the target thread ID to be specified, which may result in the wrong thread being signaled if a thread terminates and its thread ID is recycled. Avoid using this system call.
If tgid is specified as -1, tgkill() is equivalent to tkill().
These are the raw system call interfaces, meant for internal thread library use.
Return Value
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.Errors
- EINVAL
- An invalid thread ID, thread group ID, or signal was specified.
- EPERM
- Permission denied. For the required permissions, see kill(2).
- ESRCH
- No process with the specified thread ID (and thread group ID) exists.
Versions
tkill() is supported since Linux 2.4.19 / 2.5.4. tgkill() was added in Linux 2.5.75.Conforming to
tkill() and tgkill() are Linux-specific and should not be used in programs that are intended to be portable.Notes
See the description of CLONE_THREAD in clone(2) for an explanation of thread groups.Glibc does not provide wrappers for these system calls; call them using syscall(2).