通用终端接口详解
1. 接口特性
1.1 调制解调器断开
当终端接口检测到控制终端的调制解调器断开,并且终端的 c_cflag 字段中未设置 CLOCAL 时,会向该终端对应的控制进程发送 SIGHUP 信号。通常情况下,这会导致控制进程终止。此后,对终端设备的任何读取操作将返回 0,表示文件结束;而写入操作将返回 -1,并将 errno 设置为 [EIO] ,直到设备关闭。
1.2 关闭终端设备文件
最后一个关闭终端设备文件的进程会将所有输出发送到设备,并丢弃所有输入。若控制模式中设置了 HUPCL ,且通信端口支持断开功能,终端设备将执行断开操作。
2. 可设置的参数
2.1 termios 结构
若要控制某些终端 I/O 特性,可使用 <termios.h> 头文件中定义的 termios 结构。由于该结构可能包含额外成员,且标准成员可能包含标准和非标准模式,因此应用程序不应直接初始化该结构,以免终端行为不符合规范。在打开未被任何进程打开的终端设备(非伪终端)时,应先使用 O_TTY_INIT 标志打开设备,再使用 tcgetattr() 初始化结构,以确保 termios 结构的非标准元素设置为使终端接口符合规范
超级会员免费看
订阅专栏 解锁全文
1601

被折叠的 条评论
为什么被折叠?



