table of contents
tkill(2) | System Calls Manual | tkill(2) |
NAZWA¶
tkill, tgkill - wysyła sygnał do wątku
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <signal.h> /* Definicja stałych SIG* */ #include <sys/syscall.h> /* Definicja stałych SYS_* */ #include <unistd.h>
[[przestarzałe]] int syscall(SYS_tkill, pid_t tid, int sig);
#include <signal.h>
int tgkill(pid_t tgid, pid_t tid, int sig);
Uwaga: glibc nie udostępnia opakowania dla tkill(), co wymusza użycie syscall(2).
OPIS¶
tgkill() wysyła sygnał sig do wątku o identyfikatorze wątku tid w grupie wątków tgid (inaczej niż kill(2), służący do wysyłania sygnału wyłącznie do procesu (tj. grupy wątków) jako całości, gdzie sygnał jest dostarczany do arbitralnie wybranego wątku tego procesu).
tkill() jest przestarzałym poprzednikiem tgkill(). Pozwala na podanie tylko identyfikatora wątku docelowego, co może powodować wysłanie sygnału do nieprawidłowego wątku, jeśli podany wątek zakończy się, a jego identyfikator wątku zostanie ponownie wykorzystany. Proszę unikać stosowania tego wywołania systemowego.
Są to surowe interfejsy wywołania systemowego, przeznaczone do wewnętrznego stosowania wobec wątków przez bibliotekę.
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.
BŁĘDY¶
- EAGAIN
- Osiągnięto limit zasobu RLIMIT_SIGPENDING, a sig jest sygnałem czasu rzeczywistego.
- EAGAIN
- Brak pamięci jądra, a sig jest sygnałem czasu rzeczywistego.
- EINVAL
- Podano nieprawidłowy identyfikator wątku, identyfikator grupy wątków lub sygnał.
- EPERM
- Brak uprawnień. Wymagane uprawnienia opisano w podręczniku kill(2).
- ESRCH
- Nie istnieje proces z podanym identyfikatorem wątku (i grupy wątków).
STANDARDY¶
Linux.
HISTORIA¶
UWAGI¶
Wyjaśnienie dotyczące grupy wątków znajduje się w opisie CLONE_THREAD w podręczniku clone(2).
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
2 maja 2024 r. | Linux man-pages 6.9.1 |