-
华为认证h35-211-hcnp-access network题库中关于终端窗口大小的讨论 - 鸿鹄论坛
资源介绍
11.12 终端的窗口大小
S V R 4和伯克利系统都提供了一种功能,用其可以对当前终端窗口的大小进行跟踪,在窗
口大小发生变化时,使内核通知前台进程组。内核为每个终端和伪终端保存一个 w i n s i z e结构。
此结构的作用是:
(1) 用i o c t l(见3 . 1 4节)的T I O C G W I N S Z命令可以取此结构的当前值。
(2) 用i o c t l的T I O C S W I N S Z命令可以将此结构的新值存放到内核中。如果此新值与存放在
内核中的当前值不同,则向前台进程组发送 S I G W I N C H信号。(注意,从表 1 0 - 1中可以看出,
此信号的系统默认动作是忽略。)
(3) 除了存放此结构的当前值以及在此值改变时产生一个信号以外,内核对该结构不进行
任何其他操作。对结构中的值进行解释完全是应用程序的工作。
提供这种功能的目的是,当窗口大小发生变化时通知应用程序(例如 v i编辑程序)。应用
程序接到此信号后,它可以取得窗口大小的新值,然后重绘屏幕。
实例
程序11 - 1 2打印当前窗口大小,然后睡眠。每次窗口大小改变时,就捕捉到 S I G W I N C H信
号,然后打印新的窗口大小。必须用一个信号终止此程序。
2 7 0 U N I X环境高级编程
下载