ИМЯ

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 <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]

Recommended readings

Pages related to tcsetpgrp you should read also: