1. 首页
  2. 操作系统
  3. Unix
  4. 终端的窗口大小-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

终端的窗口大小-鸿鹄论坛_华为认证h35-211-hcnp-access network题库

上传者: 2024-07-15 19:51:25上传 PDF文件 18.16MB 热度 8次

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信号,然后打印新的窗口大小。必须用一个信号终止此程序。

更多关于 UNIX 系统和终端窗口大小的相关内容,请参考以下资源:

  1. UNIX高级环境编程linux内核设计与实现

  2. Linux内核通知链

  3. Unix内核源码剖析

  4. UNIX系统内核结构

  5. Linux环境编程从应用到内核Linux Unix技术丛书.pdf

这些资源将帮助你更深入地理解终端窗口大小管理及其在 UNIX 系统中的实现和应用。

下载地址
用户评论