属性

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

InterfaceAttributeValue
ttyname()Thread safetyMT-Unsafe race:ttyname
ttyname_r()Thread safetyMT-Safe

错误说明

EBADF
错误的文件描述符。
ENODEV fd引用了一个从属伪终端设备,但是找不到相应的路径名(请参阅"注意")。
ENOTTY
fd不是指终端设备。
ERANGE
(ttyname_r())buflen太小,无法存储路径名。
TTYNAME - Linux手册页

Linux程序员手册 第3部分
更新日期: 2019-10-10

语法

#include <unistd.h>

char *ttyname(int fd);

int ttyname_r(int fd, char *buf, size_t buflen);

返回值

函数ttyname()成功返回一个指向路径名的指针。错误时,将返回NULL,并正确设置了errno。函数ttyname_r()成功返回0,错误返回错误号。

说明

函数ttyname()返回一个指针,该指针指向在文件描述符fd上打开的终端设备的以空值结尾的路径名,或者在错误时为NULL(例如,如果fd未连接到终端)。返回值可能指向静态数据,可能会被下一次调用覆盖。函数ttyname_r()将此路径名存储在长度为buflen的缓冲区buf中。

另外参见

tty(1),fstat(2),ctermid(3),isatty(3),pts(4)

出版信息

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

名称

ttyname,ttyname_r-终端的返回名称

遵循规范

POSIX.1-2001,POSIX.1-2008、4.2BSD。

备注

当切换到使用不同的/ dev / ptmx实例的另一个安装命名空间时,保持指向pts(4)设备的文件描述符打开的进程仍可能会偶然发现该文件描述符具有相同名称的设备路径。但是,此设备路径引用了另一台设备,因此不能用于访问文件描述符所引用的设备。在新的安装名称空间中的文件描述符上调用ttyname()或ttyname_r()会导致这些函数返回NULL并将errno设置为ENODEV。

日期:2019-08-20 18:01:33 来源:oir作者:oir