Scroll to navigation

gettid(2) System Calls Manual gettid(2)

ИМЯ

gettid - получить идентификатор нити

LIBRARY

Standard C library (libc, -lc)

СИНТАКСИС

#define _GNU_SOURCE
#include <unistd.h>
pid_t gettid(void);

ОПИСАНИЕ

gettid() возвращает идентификатор нити вызвавшего процесса (TID). В случае процесса с одной нитью он эквивалентен идентификатору процесса (PID, возвращаемому getpid(2)). В случае процесса с множеством нитей все нити имеют одинаковый идентификатор процесса PID, но каждый из них имеет уникальный идентификатор нити TID. Для получения подробной информации см. обсуждение CLONE_THREAD clone(2).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

При успешном выполнении возвращается идентификатор вызывающей нити.

ОШИБКИ

Этот системный вызов всегда выполняется успешно.

ВЕРСИИ

The gettid() system call first appeared in Linux 2.4.11. Library support was added in glibc 2.30. (Earlier glibc versions did not provide a wrapper for this system call, necessitating the use of syscall(2).)

СТАНДАРТЫ

Вызов gettid() является специфичным для Linux и не должен использоваться в переносимых программах.

ЗАМЕЧАНИЯ

Идентификатор нити, возвращаемый этим вызовом, не является идентификатором нити POSIX (т.е., значением с произвольной структурой, возвращаемым pthread_self(3)).

В новой группе нитей, созданной вызовом clone(2) без флага CLONE_THREAD (или новый процесс, созданный fork(2)), новый процесс является лидером группы нитей, и ID этой группы нитей (значение, возвращаемое getpid(2)) совпадает с ID этой нити (значение, возвращаемое gettid()).

СМ. ТАКЖЕ

capget(2), clone(2), fcntl(2), fork(2), get_robust_list(2), getpid(2), ioprio_set(2), perf_event_open(2), sched_setaffinity(2), sched_setparam(2), sched_setscheduler(2), tgkill(2), timer_create(2)

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

4 декабря 2022 г. Linux man-pages 6.02