TCGETPGRP - Linux手册页
时间:2019-08-20 18:01:30 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2015-08-08
名称
tcgetpgrp,tcsetpgrp-获取并设置终端前台进程组
语法
#包括
pid_t tcgetpgrp(int fd);
int tcsetpgrp(int fd,pid_t pgrp);
说明
函数tcgetpgrp()返回与fd关联的终端上的前台进程组的进程组ID,该fd必须是调用进程的控制终端。
函数tcsetpgrp()使具有进程组ID pgrp的进程组成为与fd关联的终端上的前台进程组,fd必须是调用进程的控制终端,并且仍与其会话关联。此外,pgrp必须是与调用进程属于同一会话的(非空)进程组。
如果tcsetpgrp()被其会话中的后台进程组的成员调用,并且该调用进程没有阻塞或忽略SIGTTOU,则SIGTTOU信号将发送到该后台进程组的所有成员。
返回值
当fd指向调用进程的控制终端时,函数tcgetpgrp()将返回该终端的前台进程组ID(如果存在),并且返回大于1的某个值(否则该值不是当前进程组ID)。当fd未引用调用过程的控制终端时,返回-1,并适当设置errno。
成功时,tcsetpgrp()返回0。否则,它返回-1,并正确设置了errno。
错误说明
- EBADF
- fd不是有效的文件描述符。
- EINVAL
- pgrp的值不受支持。
- ENOTTY
- 呼叫过程没有控制终端,或者有一个控制终端,但没有用fd描述,或者对于tcsetpgrp(),该控制终端不再与呼叫过程的会话相关联。
- EPERM
- pgrp具有支持的值,但不是与调用进程在同一会话中的进程的进程组ID。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
tcgetpgrp(),tcsetpgrp() | Thread safety | MT-Safe |
遵循规范
POSIX.1-2001,POSIX.1-2008。
备注
这些功能是通过TIOCGPGRP和TIOCSPGRP ioctl实现的。
History
ioctl出现在4.2BSD中。这些功能是POSIX的发明。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。