获取磁盘使用率(Linux C)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取磁盘使用率(Linux C)相关的知识,希望对你有一定的参考价值。

#define SYS_DISK_BUFF_LEN 256
#define SYS_DISK_NAME_LEN 80
#define SYS_100_PERSENT 100
int
get_sysDiskUsage()
{
    FILE * fp;
    char filesystem[SYS_DISK_NAME_LEN],available[SYS_DISK_NAME_LEN],use[SYS_DISK_NAME_LEN],mounted[SYS_DISK_NAME_LEN],buf[SYS_DISK_BUFF_LEN]; 
    double used,blocks,used_rate;
    fp=popen("df","r");
    fgets(buf,SYS_DISK_BUFF_LEN,fp);
    double dev_total = 0,dev_used = 0;
    while(6 == fscanf(fp,"%s %lf %lf %s %s %s",filesystem,&blocks,&used,available,use,mounted))
    {
        dev_total += blocks;
        dev_used += used;
    }

    used_rate = (dev_used/dev_total)*SYS_100_PERSENT;
    pclose(fp);
    return used_rate;
}

以上是关于获取磁盘使用率(Linux C)的主要内容,如果未能解决你的问题,请参考以下文章

请问在java代码中怎样获取某个磁盘上的某个文件的绝对路径和相对路径?有知道的麻烦告诉我!谢谢!

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

Linux 无损扩容磁盘

从 Linux 中的 /proc 文件系统获取硬件信息

Linux c 语言怎么方便的读取 cpu,磁盘信息