tkill(2)

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

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#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

EAGAIN
    Limita de resurse RLIMIT_SIGPENDING a fost atinsă, iar sig este un semnal în timp real.

EAGAIN
    Memoria disponibilă în nucleu a fost insuficientă, iar sig este un semnal în timp real.

EINVAL
    A fost specificat un ID de fir, un ID de grup de fire sau un semnal nevalid.

EPERM
    Permisiune refuzată. Pentru permisiunile necesare, consultați kill(2).

ESRCH
    Nu există niciun proces cu ID-ul firului specificat (și ID-ul grupului de fire).

STANDARDE
Linux.

ISTORIC

tkill()
    Linux 2.4.19 / 2.5.4.

tgkill()
    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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.