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)。

InterfaceAttributeValue
tcgetpgrp(),tcsetpgrp()Thread safetyMT-Safe

遵循规范

POSIX.1-2001,POSIX.1-2008。

备注

这些功能是通过TIOCGPGRP和TIOCSPGRP ioctl实现的。

History

ioctl出现在4.2BSD中。这些功能是POSIX的发明。

另外参见

setpgid(2),setsid(2),凭据(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/