UNIX 终端控制与进程间通信详解
在 UNIX 系统编程中,终端控制和进程间通信是非常重要的部分。下面我们将详细介绍相关的知识。
终端控制
在 UNIX 中,有多种方式可以进行终端控制,这里我们主要探讨 System V 终端接口、BSD 终端控制等相关内容。
System V 终端接口
在 System V 终端接口中,ioctl的第三个参数总是struct termio结构的地址。request的合法值及作用如下:
| 请求值 | 作用 |
| ---- | ---- |
| TCGETA | 检索当前终端属性,并将其存储在第三个参数指向的struct termio结构中,类似于tcgetattr。 |
| TCSETA | 将当前终端属性设置为第三个参数指向的struct termio结构中存储的属性,类似于tcsetattr并使用TCSANOW动作。 |
| TCSETAW | 将当前终端属性设置为第三个参数指向的struct termio结构中存储的属性,直到写入设备的所有字符都已传输后,更改才会生效,类似于tcsetattr并使用TCSADRAIN动作。 |
| TCSETAFTCSETAW | 将当前终端属性设置为