下面的代码可以得到硬盘使用情况:

#include #include #include #include #include #include #include #include

static const char *ignore_fs[] = {

"none", "proc", "sysfs", "devpts", "usbfs", "usbdevfs", NULL };

int main (int argc, char **argv)

{

struct mntent   *mnt;

struct statfs   fsu;

FILE            *fp;

char            *table = MOUNTED;

long            total, used, available, available_to_root;

double          pct;

char            **p;

int             scale, flag = 0;

char            buf[BUFSIZ];

memset (buf, 0, BUFSIZ);

fp = setmntent (table, "r");

if (fp == NULL)

{

return -1;

}

while ((mnt = getmntent (fp)))

{

for (p = (char **)ignore_fs; *p; p++)

{

if (strcmp (mnt->mnt_fsname, *p) == 0)

{

flag = 1;

break;;

}

}

if (flag)

{

flag = 0;

continue;

}

if (statfs (mnt->mnt_dir, &fsu) < 0)

{

return -1;

}

else

{

total = fsu.f_blocks;

available = fsu.f_bavail;

available_to_root = fsu.f_bfree;

used  = total - available_to_root;

scale = fsu.f_bsize / 1024;

pct = 0;

if (total != 0 )

pct = (used * 100) / (used + available) + ((used *100) % (used

+ available) != 0);

fprintf (stdout, "%-15s %15s %10ld %10ld %10ld %9.0f%% %-s\n",

mnt->mnt_fsname, mnt->mnt_type, total*scale, used*scale,

available*scale, pct, mnt->mnt_dir);

}

}

endmntent (fp);

return 0;

}

[zhanghua@localhost ZA]$ gcc fsinfo.c -o fsinfo

[zhanghua@localhost ZA]$ ./fsinfo

/dev/sda2                  ext3    5771500    5166820     311496        95% /

/dev/sda1                  ext3     101089       9424      86446        10% /boot

linux c 获取硬盘使用率,Linux通过c得到硬盘使用情况相关推荐

  1. linux fdisk 磁盘空间使用率,linux查看磁盘剩余空间以及cpu使用情况

    1.查看CPU个数 cat /proc/cpuinfo | grep "physical id" | uniq top可以实时的查看cpu的使用情况 2.查看CPU核数 cat / ...

  2. linux系统限制内存使用率,linux中限制CPU和内存占用率方法

    在linux中CPU与内存占用率限制的方法有几种我这里整理常用的两种,希望文章对各位同学会有所帮助哦. 查看cpu占用 在命令行中输入 "top" 即可启动 top top 的全屏 ...

  3. linux 代码获取当前路径,【linux】shell代码,获取当前路径,创建文件夹

    Linux学习笔记:mkdir创建文件夹 文件夹,即目录,在linux中使用mkdir创建. 语法:mkdir dir_name 通过 mkdir 命令可以实现在指定位置创建以 dir_name(指定 ...

  4. linux c 获取网关ip,linux sh 如何根据出口网关来获取本机出口ip

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试机器:华为P7-L07 安卓测试环境:EMUI 3.1 安卓5.1.1(版本号:P7-L07C01B851,基带版本:23.600.06.00.00, ...

  5. linux 时区获取时间,【linux】linux修改系统时间和linux查看时区、修改时区的方法...

    一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...

  6. linux c 获取屏幕信息,Linux C 获取本机相关信息

    http://www.open-open.com/code/view/14355902499502015.06/* *@Abstract getHostInformation */ #include ...

  7. linux不能获取地址吗,Linux命令源代码获取地址,机不可失,失不再来!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面以获取cat命令的源代码为例说明: rpm -qif `which cat` 将显示如下信息: --------------------------- ...

  8. linux脚本获取usb设备,Linux基于USB端口执行脚本

    您应该弄清楚您的外部端口与哪个USB总线连接.在我的电脑上所有外部USB端口都连接到Bus 01 要做这个检查lsusb -t的输出,然后附上一个usb设备并再次检查输出lsusb -t.那么你知道什 ...

  9. linux so获取自己路径,linux下so获得自己文件位置的路径

    打开这个设备/proc/self/maps 返回的就是这个进程当前使用的so列表 cat /proc/self/maps 00400000-0040b000 r-xp 00000000 08:01 1 ...

最新文章

  1. yolact_ros出坑记录
  2. ACMNO.2 输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数。 输入 一个华氏温度,浮点数 输出 摄氏温度,浮点两位小数
  3. 成功解决tensorboard调用events.out.tfevents文件得到网址出现No dashboards are active for the current data set问题
  4. C++阶段01笔记01【C++初识(第一个C++程序、注释、变量、常量、关键字、标识符命名规则)】
  5. android应用程序开发_深圳app开发公司:跨平台应用程序开发工具有哪些?
  6. 图片缩小不失真_科技论文中图片的处理方法有哪些?
  7. 风变科技公司的python小课_风变编程Python小课最近很火,大家学完感受如何?
  8. linux安装mysql phpmyadmin_如何在Linux下安装和配置PHPmyadmin?
  9. 网络安全实验室-脚本关1-15
  10. NXP单片机开发环境搭建,开发包下载
  11. 吉他音阶训练——问题解答
  12. 适合高中生看的科普类书籍,助力一窥科学世界
  13. 那些年我们一起错过赚钱时光 10年机会逐个数
  14. android之Goolgle Map
  15. Gym - 101986F Pizza Delivery (最短路必经路径)
  16. 使用CNNs网络,基于caltech 101数据集实现分类
  17. tornado源码分析-Application
  18. 力天创见双目客流统计方案
  19. 点到线段的最短距离算法
  20. Long型 时间戳转换 得到格林时间 格式:2020-02-25T16:00:00.00Z

热门文章

  1. linux redis 数据迁移,redis cluster 迁移数据
  2. Qt同时加载多个项目
  3. QtCreator中导入“.lib(.a)”和“.dll(.so)”文件的方法
  4. 报名国电没有计算机二级,想进入国电,捧起“铁饭碗”?没问题,这几个专业助你成功...
  5. 如何防止网站被SQL注入攻击之java网站安全部署
  6. openssl证书相关
  7. css px转rem工具,支持生产整个css文件统一修改
  8. ES6基础教程一 学习笔记
  9. 物联网:不要幻想今年会突飞猛进,但行业依然亢奋
  10. 在Windows下编译OpenSSL(VS2005)【转】