Provided by: manpages-ru-dev_4.18.1-1_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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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