Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       tcgetpgrp, tcsetpgrp - возвращает и задаёт терминал активной группы процессов

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       pid_t tcgetpgrp(int fd);
       int tcsetpgrp(int fd, pid_t pgrp);

ОПИСАНИЕ

       Функция  tcgetpgrp()  возвращает  идентификатор  активной (foreground) группы процессов, терминал которой
       связан с fd. Этот терминал должен быть управляющим терминалом вызывающего процесса.

       Функция tcsetpgrp() делает  группу  процессов  с  идентификатором  pgrp  активной  группой  процессов  на
       терминале, связанном с fd, который должен быть управляющим терминалом для вызывающего процесса, и все ещё
       быть  связанным с его сеансом. Более того, pgrp должно быть (непустой) группой процессов, принадлежащей к
       тому же сеансу, что и вызывающий процесс.

       Если tcsetpgrp() вызывается членом группы фоновых процессов  в  этом  сеансе,  и  вызывающий  процесс  не
       блокирует  или  игнорирует  SIGTTOU,  то  сигнал  SIGTTOU  отправляется  всем  членам этой группы фоновых
       процессов.

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

       When fd refers to the controlling terminal of the calling process, the function tcgetpgrp()  will  return
       the  foreground  process  group ID of that terminal if there is one, and some value larger than 1 that is
       not presently a process group ID otherwise.  When fd does not refer to the controlling  terminal  of  the
       calling process, -1 is returned, and errno is set to indicate the error.

       When  successful,  tcsetpgrp()   returns  0.   Otherwise, it returns -1, and errno is set to indicate the
       error.

ОШИБКИ

       EBADF  Значение fd не является правильным файловым дескриптором.

       EINVAL Неподдерживаемое значение pgrp.

       ENOTTY Вызывающий процесс не имеет управляющего терминала, или он имеется, но  не  описан  fd,  или,  для
              tcsetpgrp(), этот управляющий терминал больше не связан с сеансом вызывающего процесса.

       EPERM  В pgrp содержится поддерживаемое значение, но это не идентификатор группы процессов для процесса в
              том же сеансе, что и вызывающий процесс.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ tcgetpgrp(), tcsetpgrp()                                            │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

       Эти функции реализованы через вызовы ioctl TIOCGPGRP и TIOCSPGRP.

   История
       Эти вызовы ioctl появились в 4.2BSD. Функции являются изобретениями POSIX.

СМ. ТАКЖЕ

       setpgid(2), setsid(2), credentials(7)

ПЕРЕВОД

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

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

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

Linux man-pages 6.03                           15 декабря 2022 г.                                   tcgetpgrp(3)