Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       tkill, tgkill - посылает сигнал нити

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <signal.h>           /* определения констант SIG* */
       #include <sys/syscall.h>      /* определения констант SYS_* */
       #include <unistd.h>

       [[deprecated]] int syscall(SYS_tkill, pid_t tid, int sig);

       #include <signal.h>

       int tgkill(pid_t tgid, pid_t tid, int sig);

       Note: glibc provides no wrapper for tkill(), necessitating the use of syscall(2).

ОПИСАНИЕ

       tgkill()  отправляет  сигнал sig нити с ID tid в группе нитей tgid. Для сравнения, kill(2)
       может быть использована только для отправки сигнала  процессу  (т.е.,  группе  нитей)  как
       единому целому и сигнал будет доставлен произвольной нити внутри этого процесса.

       Вызов   tkill()  —  устаревший  предшественник  tgkill().  Он  позволяет  задавать  только
       идентификатор нити-получателя, что может привести к уведомлению не  той  нити,  если  нить
       завершила работу и её идентификатор используется повторно. Не используйте данный системный
       вызов.

       Это вызовы интерфейса системного уровня, они предназначены для внутреннего использования в
       библиотеке нитей.

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

       On  success, zero is returned.  On error, -1 is returned, and errno is set to indicate the
       error.

ОШИБКИ

       EAGAIN Достигнут ограничитель ресурса RLIMIT_SIGPENDING и sig  содержит  сигнал  реального
              времени.

       EAGAIN Недостаточное количество памяти ядра и sig содержит сигнал реального времени.

       EINVAL Указан некорректный идентификатор нити, группы или сигнал.

       EPERM  Отказано в доступе. См. kill(2) для получения подробностей о необходимом доступе.

       ESRCH  Не существует процесса с указанным идентификатором нити (и идентификатором группы).

ВЕРСИИ

       tkill() поддерживается начиная с Linux 2.4.19/2.5.4. tgkill() был добавлен в Linux 2.5.75.

       Library support for tgkill()  was added in glibc 2.30.

СТАНДАРТЫ

       Вызовы  tkill()  и  tgkill()  есть  только  в  Linux,  и  они  не  должны использоваться в
       переносимых программах.

ЗАМЕЧАНИЯ

       См. описание CLONE_THREAD в clone(2) для пояснения по поводу групп нитей.

       Before glibc 2.30, there was also no wrapper function for tgkill().

СМ. ТАКЖЕ

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

ПЕРЕВОД

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

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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