GNU/Linux |
CentOS 4.8 |
i386 |
![]() |
tkill(2) |
![]() |
tkill − send a signal to a single process
#include
<sys/types.h>
#include <linux/unistd.h>
_syscall2(int, tkill, pid_t, tid, int, sig)
int tkill(pid_t 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). Since all the processes in a thread group have the same PID, they cannot be individually signalled with kill. With tkill, however, one can address each process by its unique TID.
On success, zero is returned. On error, −1 is returned, and errno is set appropriately.
EINVAL |
An invalid TID or signal was specified. | ||
ESRCH |
No process with the specified TID exists. | ||
EPERM |
The caller did not have permission to send the signal to the specified process. For a process to be allowed to send a signal, it must either have root privileges, or its real or effective user ID must be equal to the real or saved set-user-ID of the receiving process. |
tkill is Linux specific and should not be used in programs that are intended to be portable.
gettid(2), kill(2)
![]() |
tkill(2) | ![]() |