tcgetpgrp, tcsetpgrp -
возвращает
и задаёт
терминал
активной
группы
процессов
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]