• 大小: 12.25 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-12-26
  • 语言: 其他
  • 标签: Linux  

资源简介

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


评论

共有 条评论