Scroll to navigation

tkill(2) System Calls Manual tkill(2)

NUME

tkill, tgkill - trimite un semnal către un fir de execuție

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <signal.h>           /* Definiția constantelor SIG* */
#include <sys/syscall.h>      /* Definiția constantelor SYS* */
#include <unistd.h>
[[depreciat]] int syscall(SYS_tkill, pid_t tid, int sig);
#include <signal.h>
int tgkill(pid_t tgid, pid_t tid, int sig);

Notă: glibc nu oferă nici o funcție de învăluire pentru tkill(), fiind necesară utilizarea syscall(2).

DESCRIERE

tgkill() trimite semnalul sig la firul cu ID-ul firului tid din grupul de fire tgid; (în schimb, kill(2) poate fi utilizat pentru a trimite un semnal numai către un proces (adică un grup de fire) ca întreg, iar semnalul va fi transmis unui fir arbitrar din cadrul acelui proces).

tkill() este un predecesor învechit al lui tgkill(). Acesta permite doar specificarea ID-ului firului țintă, ceea ce poate duce la semnalarea firului greșit dacă un fir se termină și ID-ul său este reciclat. Evitați utilizarea acestui apel de sistem.

Acestea sunt interfețele brute de apelare a sistemului, destinate utilizării bibliotecii de fire interne.

VALOAREA RETURNATĂ

În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

Limita de resurse RLIMIT_SIGPENDING a fost atinsă, iar sig este un semnal în timp real.
Memoria disponibilă în nucleu a fost insuficientă, iar sig este un semnal în timp real.
A fost specificat un ID de fir, un ID de grup de fire sau un semnal nevalid.
Permisiune refuzată. Pentru permisiunile necesare, consultați kill(2).
Nu există niciun proces cu ID-ul firului specificat (și ID-ul grupului de fire).

STANDARDE

Linux.

ISTORIC

Linux 2.4.19 / 2.5.4.
Linux 2.5.75, glibc 2.30.

NOTE

A se vedea descrierea lui CLONE_THREAD în clone(2) pentru o explicație a grupurilor de fire.

CONSULTAȚI ȘI

clone(2), gettid(2), kill(2), rt_sigqueueinfo(2)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

30 martie 2023 Pagini de manual de Linux 6.05.01