資源簡介
Linux系統(tǒng)下的任務(wù)管理器,用c編寫,gtk編寫界面,有查看cpu利用率、內(nèi)存利用率、系統(tǒng)進(jìn)程、模塊、版本等信息
代碼片段和文件信息
#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
評論
共有 條評論