类Unix系统提供一个信号-SIGWINCH,每当终端窗口的大小变化时,就会产生此信号。

示例如下:

#include

#include

#include

#include

#include

#include

#include

#include "errno.h"

static int get_screen_width(int *pColum)

{//get terminal's width

struct winsize size;

if(isatty(STDOUT_FILENO)==0)

{

printf("not a tty\n");

return -1;

}

if(ioctl(STDOUT_FILENO, TIOCGWINSZ, &size)<0)

{

printf("get win size failed: %s\n", strerror(errno));

return -1;

}

*pColum = size.ws_col;

return 0;

}

static void sig_winch(int signo)

{

int colum_width = 0;

if (get_screen_width(&colum_width) == 0)

{

printf("SIGWINCH received: terminal width: %d\n", colum_width);

}

else

{

printf("SIGWINCH received\n");

}

if(signal(SIGWINCH, sig_winch) == SIG_ERR)

perror("signal error");

return ;

}

int main(void)

{

if(signal(SIGWINCH, sig_winch) == SIG_ERR)

perror("signal error");

while (1);

return 0;

}

运行上面示例:当手动改变终端窗口的大小时,当前终端的大小就会显示出来

linux终端显示长度,动态获得Linux终端的大小(尺寸)相关推荐

  1. linux不显示用户名和文件,Linux终端不再显示当前用户名和文件目录

    Linux终端不再显示当前用户名和路径 为了在虚拟机上安装VASP,我们首先要在centOS虚拟机上安装Intel编译包.安装成功以后,重启虚拟机,打开终端,出现了当前用户名和路径不显示的问题,如下所 ...

  2. linux中显示没有那个目录,linux没有那个文件或目录

    linux下创建文件与目录时默认被赋予了什么样的权限? 当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288 ...

  3. linux 终端显示emoji,如何从Linux命令行快速搜索表情符号 | MOS86

    Emojis无疑成为数字沟通时表达情感的最流行方式之一.它们的受欢迎程度可以通过事实来衡量 今天,几乎每个基于通信的应用程序都带有一组emojis,用户可以在彼此交互的同时表达情绪.然而,有时候,可用 ...

  4. mysql在linux下显示花_在Linux 中搭建 Mysql

    在本次搭建,出现了各种问题,一直解决不掉,建议各位小伙伴不要像我一样,像一个无头的苍蝇一样,这有问题就解决这个问题,没有意识本质实在的问题. 主要问题(加星,标重点):一定要看自己的linux 版本, ...

  5. Linux更改显示管理器,聊聊Linux操作系统中的显示管理器及如何更换

    在这篇Linux黑话解释中,你将了解 Linux 中的显示管理器.它是桌面环境的一部分吗?它的作用是什么? 什么是 Linux 中的显示管理器? 简单来说,显示管理器display manager(D ...

  6. linux 系统显示很大,在Linux中可视化显示内存占用情况的方法

    物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应 ...

  7. linux sqlplus显示乱码,scrt访问linux,sqlplus查询中文显示乱码

    scrt访问linux,sqlplus查询中文显示乱码 2019-04-28 scrt访问linux时候,默认语言LANG=en_US.UTF-8.oracle查询默认语言NLS_LANG=AMERI ...

  8. linux 桌面显示天气,如何在Linux中显示天气条件作为壁纸 | MOS86

    配件 - WeatherPaper 你应该看到你的桌面壁纸立即改变,以反映当前的天气状况. 要配置weatherpaper脚本,请转到您也可以使其在启动时运行. Location 您是在哪里输入您的位 ...

  9. linux分页显示所有文件内容,Linux more分页显示内容命令详解

    名称:more 使用权限:所有使用者 使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 说明:类似 cat ,不过会以一 ...

最新文章

  1. 将指定日期字符串转换为Calendar对象
  2. android listview使用自定义的adapter没有了OnItemClickListener事件解决办法
  3. 全局变量、局部变量、静态全局变量、静态局部变量的区别
  4. 图像处理中各种边缘检测的微分算子简单比较(Sobel,Robert, Prewitt,Laplacian,Canny) 【转】
  5. 免费的中文OCR软件
  6. Python自动化运维之21、CSS
  7. websockets_WebSockets简介
  8. Windows驱动编程基础(下)之电源管理
  9. wordpress插件-wordpress常用插件大全
  10. 锁定计算机怎么设密码忘记了怎么办,电脑怎么设置锁屏密码 电脑锁屏密码忘记了怎么办...
  11. 项目管理面试常见问题及答案
  12. linux原子锁原理,了解Linux的锁与同步、原子加(atomic_add)
  13. linux在123目录下找文件,linux在当前目录下根据文件名查找文件
  14. Delphi 编译的程序在win10中怎样默认以管理员身份运行
  15. 通用虚拟平台virt
  16. 雅虎說【用戶將無法從中國大陸使用 Yahoo 的產品與服務】电话号码选项中将(+86)删除
  17. 漆学军:MACD交叉,金叉做多,死叉做空的例子程序
  18. 邮件服务器有故障 英文,ClamAV 故障
  19. iOS 对于iPhone5分辨率兼容性调整问题
  20. Word2vec-Tensorflow实战

热门文章

  1. AW378 骑士放置
  2. 遥感(3):航空遥感和航测成图
  3. 技术沙龙之Ruby 命令行选项介绍
  4. “三十多岁的你想告诉二十多岁的我什么人生道理?”
  5. InDesign CS3 常用的字体
  6. 苹果画画软件_电容笔哪种好,普通的电容笔和苹果电容笔有什么不同?
  7. 如何利用弹性伸缩服务降低80%的机器成本
  8. android串口通信
  9. 43个云平台通过云计算服务安全评估:阿里云、腾讯云、华为云、曙光云、新华云、金山云、电科云、浪潮云、紫光云、深信服等...
  10. 去毛边 叶片图像_彩色叶片图像去尘算法