linux c 获取硬盘使用率,Linux通过c得到硬盘使用情况
下面的代码可以得到硬盘使用情况:
#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得到硬盘使用情况相关推荐
- linux fdisk 磁盘空间使用率,linux查看磁盘剩余空间以及cpu使用情况
1.查看CPU个数 cat /proc/cpuinfo | grep "physical id" | uniq top可以实时的查看cpu的使用情况 2.查看CPU核数 cat / ...
- linux系统限制内存使用率,linux中限制CPU和内存占用率方法
在linux中CPU与内存占用率限制的方法有几种我这里整理常用的两种,希望文章对各位同学会有所帮助哦. 查看cpu占用 在命令行中输入 "top" 即可启动 top top 的全屏 ...
- linux 代码获取当前路径,【linux】shell代码,获取当前路径,创建文件夹
Linux学习笔记:mkdir创建文件夹 文件夹,即目录,在linux中使用mkdir创建. 语法:mkdir dir_name 通过 mkdir 命令可以实现在指定位置创建以 dir_name(指定 ...
- linux c 获取网关ip,linux sh 如何根据出口网关来获取本机出口ip
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试机器:华为P7-L07 安卓测试环境:EMUI 3.1 安卓5.1.1(版本号:P7-L07C01B851,基带版本:23.600.06.00.00, ...
- linux 时区获取时间,【linux】linux修改系统时间和linux查看时区、修改时区的方法...
一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...
- linux c 获取屏幕信息,Linux C 获取本机相关信息
http://www.open-open.com/code/view/14355902499502015.06/* *@Abstract getHostInformation */ #include ...
- linux不能获取地址吗,Linux命令源代码获取地址,机不可失,失不再来!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面以获取cat命令的源代码为例说明: rpm -qif `which cat` 将显示如下信息: --------------------------- ...
- linux脚本获取usb设备,Linux基于USB端口执行脚本
您应该弄清楚您的外部端口与哪个USB总线连接.在我的电脑上所有外部USB端口都连接到Bus 01 要做这个检查lsusb -t的输出,然后附上一个usb设备并再次检查输出lsusb -t.那么你知道什 ...
- linux so获取自己路径,linux下so获得自己文件位置的路径
打开这个设备/proc/self/maps 返回的就是这个进程当前使用的so列表 cat /proc/self/maps 00400000-0040b000 r-xp 00000000 08:01 1 ...
最新文章
- yolact_ros出坑记录
- ACMNO.2 输入一个华氏温度,要求输出摄氏温度。公式为 c=5(F-32)/9 输出要求有文字说明,取位2小数。 输入 一个华氏温度,浮点数 输出 摄氏温度,浮点两位小数
- 成功解决tensorboard调用events.out.tfevents文件得到网址出现No dashboards are active for the current data set问题
- C++阶段01笔记01【C++初识(第一个C++程序、注释、变量、常量、关键字、标识符命名规则)】
- android应用程序开发_深圳app开发公司:跨平台应用程序开发工具有哪些?
- 图片缩小不失真_科技论文中图片的处理方法有哪些?
- 风变科技公司的python小课_风变编程Python小课最近很火,大家学完感受如何?
- linux安装mysql phpmyadmin_如何在Linux下安装和配置PHPmyadmin?
- 网络安全实验室-脚本关1-15
- NXP单片机开发环境搭建,开发包下载
- 吉他音阶训练——问题解答
- 适合高中生看的科普类书籍,助力一窥科学世界
- 那些年我们一起错过赚钱时光 10年机会逐个数
- android之Goolgle Map
- Gym - 101986F Pizza Delivery (最短路必经路径)
- 使用CNNs网络,基于caltech 101数据集实现分类
- tornado源码分析-Application
- 力天创见双目客流统计方案
- 点到线段的最短距离算法
- Long型 时间戳转换 得到格林时间 格式:2020-02-25T16:00:00.00Z
热门文章
- linux redis 数据迁移,redis cluster 迁移数据
- Qt同时加载多个项目
- QtCreator中导入“.lib(.a)”和“.dll(.so)”文件的方法
- 报名国电没有计算机二级,想进入国电,捧起“铁饭碗”?没问题,这几个专业助你成功...
- 如何防止网站被SQL注入攻击之java网站安全部署
- openssl证书相关
- css px转rem工具,支持生产整个css文件统一修改
- ES6基础教程一 学习笔记
- 物联网:不要幻想今年会突飞猛进,但行业依然亢奋
- 在Windows下编译OpenSSL(VS2005)【转】