资源简介
Linux系统下的任务管理器,用c编写,gtk编写界面,有查看cpu利用率、内存利用率、系统进程、模块、版本等信息
代码片段和文件信息
#include
#include
#include
#include
#include
GtkWidget *ssslabel;
GtkWidget *rrrlabel;
char *txt_pid=NULL;
char *txt_pid2=NULL;
void restart(void)
{
system(“reboot“);
}
void shutdown(void)
{
system(“halt“);
}
void kill_proc(void)
{
char buf[20];
sprintf(buf“kill -9 %s“txt_pid);
system(buf);
}
void uninst_mod(void)
{
char buf[20];
sprintf(buf“rmmod %s“txt_pid2);
system(buf);
}
gint delete_event( GtkWidget *widget
GdkEvent *event
gpointer data )
{
gtk_main_quit ();
return FALSE;
}
void get_cpu_rate(float *temp)
{
FILE * fp;
int i=0;
float cpusumusernicesystemidleiowaitirqsoftirq;
char _buf1[256];
char *buf1 = _buf1;
char *buf2*buf3*buf4*buf5*buf6*buf7;
fp=fopen(“/proc/stat““r“);
fgets(buf1256fp);
for(i=0;i<256;i++){
if(buf1[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf1[i]!=‘ ‘) break;
}
buf1+=i;
user=atof(buf1);
buf2=buf1;
for(i=0;i<256;i++){
if(buf2[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf2[i]!=‘ ‘) break;
}
buf2+=i;
nice=atof(buf2);
buf3=buf2;
for(i=0;i<256;i++){
if(buf3[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf3[i]!=‘ ‘) break;
}
buf3+=i;
system=atof(buf3);
buf4=buf3;
for(i=0;i<256;i++){
if(buf4[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf4[i]!=‘ ‘) break;
}
buf4+=i;
idle=atof(buf4);
buf5=buf4;
for(i=0;i<256;i++){
if(buf5[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf5[i]!=‘ ‘) break;
}
buf5+=i;
iowait=atof(buf5);
buf6=buf5;
for(i=0;i<256;i++){
if(buf6[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf6[i]!=‘ ‘) break;
}
buf6+=i;
irq=atof(buf6);
buf7=buf6;
for(i=0;i<256;i++){
if(buf7[i]==‘ ‘) break;
}
for(;i<256;i++){
if(buf7[i]!=‘ ‘) break;
}
buf7+=i;
softirq=atof(buf7);
cpu=user+nice+system+idle+iowait+irq+softirq;
sum=user+nice+system;
temp[2]=(sum-temp[0])/(cpu-temp[1]);
temp[0]=sum;
temp[1]=cpu;
sprintf(buf1“CPU使用率:%.2f%%“temp[2]*100);
gtk_label_set_text(GTK_LABEL(ssslabel)buf1);
return;
}
void get_mem_info(void)
{
FILE * fp;
int i=0;
char _buf1[100]_buf2[100]_buf3[100]_buf4[100];
char *buf1=_buf1;
char *buf2=_buf2;
char *buf3=_buf3;
char *buf4=_buf4;
char buffer[1000];
fp=fopen(“/proc/meminfo““r“);
fgets(buf150fp);
for(i=0;i<50;i++){
if(buf1[i]==‘ ‘) break;
}
for(;i<50;i++){
if(buf1[i]!=‘ ‘) break;
}
buf1+=i;
buf1[12]=‘\0‘;
fgets(buf250fp);
for(i=0;i<50;i++){
if(buf2[i]==‘ ‘) break;
}
for(;i<50;i++){
if(buf2[i]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 29364 2009-02-26 15:42 main
文件 24893 2009-02-26 15:37 main.c
----------- --------- ---------- ----- ----
54257 2
相关资源
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
- Linux系统教材
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- SA1110处理器掌上电脑液晶显示器设计
- 基于Linux的串口服务器设计
- Windows下访问LINUX的利器-SSH
- Linux操作系统课件PPT
- 《操作系统原理及应用Linux》PPT
- Linux版的telnet安装包telnet、telnet-serv
评论
共有 条评论