tkill(2) System Calls Manual tkill(2) NAZWA tkill, tgkill - wysyla sygnal do watku BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include /* Definicja stalych SIG* */ #include /* Definicja stalych SYS_* */ #include [[przestarzale]] int syscall(SYS_tkill, pid_t tid, int sig); #include int tgkill(pid_t tgid, pid_t tid, int sig); Uwaga: glibc nie udostepnia opakowania dla tkill(), co wymusza uzycie syscall(2). OPIS tgkill() wysyla sygnal sig do watku o identyfikatorze watku tid w grupie watkow tgid (inaczej niz kill(2), sluzacy do wysylania sygnalu wylacznie do procesu (tj. grupy watkow) jako calosci, gdzie sygnal jest dostarczany do arbitralnie wybranego watku tego procesu). tkill() jest przestarzalym poprzednikiem tgkill(). Pozwala na podanie tylko identyfikatora watku docelowego, co moze powodowac wyslanie sygnalu do nieprawidlowego watku, jesli podany watek zakonczy sie, a jego identyfikator watku zostanie ponownie wykorzystany. Prosze unikac stosowania tego wywolania systemowego. Sa to surowe interfejsy wywolania systemowego, przeznaczone do wewnetrznego stosowania wobec watkow przez biblioteke. WARTOSC ZWRACANA Po pomyslnym zakonczeniu zwracane jest zero. Po bledzie zwracane jest -1 i ustawiane errno, wskazujac blad. BLEDY EAGAIN Osiagnieto limit zasobu RLIMIT_SIGPENDING, a sig jest sygnalem czasu rzeczywistego. EAGAIN Brak pamieci jadra, a sig jest sygnalem czasu rzeczywistego. EINVAL Podano nieprawidlowy identyfikator watku, identyfikator grupy watkow lub sygnal. EPERM Brak uprawnien. Wymagane uprawnienia opisano w podreczniku kill(2). ESRCH Nie istnieje proces z podanym identyfikatorem watku (i grupy watkow). STANDARDY Linux. HISTORIA tkill() Linux 2.4.19 / 2.5.4. tgkill() Linux 2.5.75, glibc 2.30. UWAGI Wyjasnienie dotyczace grupy watkow znajduje sie w opisie CLONE_THREAD w podreczniku clone(2). ZOBACZ TAKZE clone(2), gettid(2), kill(2), rt_sigqueueinfo(2) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.15 17 maja 2025 r. tkill(2)