GRANTPT - Linux手册页

时间:2019-08-20 18:00:35  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

grantpt-授予对从属伪终端的访问权限

语法

#包括

int grantpt(int fd);

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

grantpt():

从glibc 2.24开始: _XOPEN_SOURCE>= 500 (_XOPEN_SOURCE && __ XOPEN_SOURCE_EXTENDED) Glibc 2.23和更早版本: _XOPEN_SOURCE

说明

grantpt()函数更改与文件描述符fd引用的主伪终端相对应的从伪终端设备的模式和所有者。从站的用户ID设置为调用过程的实际UID。组ID设置为未指定的值(例如tty)。从站的模式设置为0620(crw--w ----)。

如果安装了信号处理程序以捕获SIGCHLD信号,则未指定grantpt()的行为。

返回值

成功时,grantpt()返回0。否则,它返回-1并适当地设置errno。

错误说明

EACCES
无法访问相应的从属伪终端。
EBADF
fd参数不是有效的打开文件描述符。
EINVAL
fd参数有效,但不与主伪终端关联。

版本

从2.1版开始,glibc中提供了grantpt()。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
grantpt()Thread safetyMT-Safe locale

遵循规范

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

备注

这是UNIX 98伪终端支持的一部分,请参阅pts(4)。

许多系统通过名为" pt_chown"的设置用户ID帮助程序二进制文件实现此功能。在具有devpts文件系统的Linux系统上(从Linux 2.2开始存在),内核通常在打开主节点时(posix_openpt(3))为伪终端从节点设置正确的所有权和权限,因此grantpt()无需执行任何操作。因此,不需要这样的帮助程序二进制文件(实际上,它被配置为在许多系统上常见的glibc构建期间不存在)。

另外参见

open(2),posix_openpt(3),ptsname(3),unlockpt(3),pts(4),pty(7)

出版信息

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