tcgetpgrp(3) | Library Functions Manual | tcgetpgrp(3) |
ИМЯ
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 |
ВЕРСИИ
Эти функции реализованы через вызовы ioctl TIOCGPGRP и TIOCSPGRP.
СТАНДАРТЫ
POSIX.1-2008.
ИСТОРИЯ
POSIX.1-2001.
Эти вызовы ioctl появились в 4.2BSD. Функции являются изобретениями POSIX.
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД
Русский перевод этой страницы руководства разработал Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Linux man-pages 6.8 |