linux任务管理器

linux任务管理器

ID:35515041

大小:566.00 KB

页数:28页

时间:2019-03-25

linux任务管理器_第1页
linux任务管理器_第2页
linux任务管理器_第3页
linux任务管理器_第4页
linux任务管理器_第5页
资源描述:

《linux任务管理器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、了解/proc文件的特点和使用方法,监控系统状态,显示系统中若干部件的使用情况,用图形界面显示系统监控状态。      主要参考书目:<>,百度,googlel这个任务管理器是参考着windows下的任务管理器和老师的要求做的。对于整体布局是用GTK编写的,中间用到了常用的构件和容器比如:菜单栏,对话框,状态栏,盒子,滚动条,标签,notebook等,并且为在显示内存信息和进程信息看起来比较好看我还用到了GtkListStore、GtkTreeViewColumn和gtkTreelter等构件。因

2、为过程有些复杂我在关键部位进行了注释。大致布局是先创建窗口,之后创建表格,上面是一个菜单栏,包括三个菜单,并且每个菜单下设有子菜单(关闭窗口,关机、重启、注销,关于本任务管理器的介绍);下面和右侧是两个状态栏分别显示系统启动时间、系统运行时间、总进程数、CPU利用率,MEM利用率,swap利用率(实时显示则用gtk_timeout_add调用回调函数来达到每隔一段时间更新显示);中间是一个notebook,期间设有五个页面分别显示cpu信息,mem信息,硬盘信息,进程信息,系统信息,mem信息中用到了树型列表构件,可

3、以手动刷新,在进程信息页中可以手动刷新和手动杀死一个进程。l读取/proc文件信息:从/proc/stat读取cpu各状态的时间,从而通过cpu_rate=100*(user+nice+system)/(float)(user+nice+system+idle)得到cpu的利用率从/proc/meminfo读取内存总量和可用内存,利用1-MemFree/MemTotal得到Mem的利用率从/proc这个目录下读取数字文件夹的数量,既是进程总数从/proc/meminfo读取内存信息从/proc/进程号/status读

4、取进程名,PID及状态,/proc/进程号/statm读取进程占用内存大小从/proc/partitions读取硬盘信息从/proc/sys/kernel/hostanme读取主机名从/proc/cpuinfo读取cpu信息从/proc/version中读取操作系统类型、内核版本、gcc版本l为了格式化显示这些读取的信息,使用了strtok字符串分割函数,sprintf函数可以从某种规则中读取出自己需要的字符串,sscanf函数则是连接两个字符串最好的操作参数。源代码:编译:gcc-oosos.c`pkg-confi

5、g--cflags--libsgtk+-2.0`运行:./os#defineGTK_ENABLE_BROKEN#include#include#include"dirent.h"#include"unistd.h"#include"sys/file.h"#include"fcntl.h"#include"string.h"#include"time.h"#include"math.h"#include#include#include<

6、gdk/gdk.h>#defineDENSITY100//图形点密度#definePMAX100//最大进程数目enum{NAME_COLUMN,//进程名列PID_COLUMN,//进程PID列STATUS_COLUMN,//进程状态列CPU_COLUMN,//CPU信息列MEMORY_COLUMN,//内存信息列NP_COLUMNS};enum{MAJOR_COLUMN,//分区主号MINOR_COLUMN,//分区次要号BLOCK_COLUMN,//块大小NAME2_COLUMN,//分区名称NB_COLUMN

7、S};enum{NAME3_COLUMN,//分类SIZE_COLUMN,//所占内存大小KB_COLUMN,NM_COLUMNS};structProcess{charname[25];charpro_id[10];charcpu_take[10];charmem_take[10];}pro[200];floatcpu_rate,mem_rate,swap_rate;char*title[6]={"资源信息","内存信息","进程信息","磁盘信息","系统信息","说明"};gdoublefuser=0;//先前

8、CPU使用信息gdoubleftotal=0;//先前CPU使用总量gdoubletotal=0;//当前进程总数gdoublepfuser[PMAX];gdoublerate=0;//cpu使用率GtkWidget*window;GtkWidget*notebook;GtkWidget*vbox;GtkWidget*hbox;GtkWidge

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。