用statfs函数模拟df功能
来源:互联网 发布:无线打电话软件免费 编辑:程序博客网 时间:2024/05/13 20:16
statfs结构中可用空间块数有两种f_bfree和 f_bavail,前者是硬盘所有剩余空间,后
者为非root用户剩余空间,ext3文件系统给root用户分有5%的独享空间,所以这里是不
同的地方。这里要强调的是每块的大小一般是4K(×这句话错误,不一定都是4k,正确做法是:总大小= sfs.f_blocks×f_bsize,即块数×每块的大小,单位是bytes,也就是要/1024/1024/1024才是GB单位,另外要注意的问题是sfs.f_blocks×f_bsize数据过大溢出,可以sfs.f_blocks/1024×f_bsize/1024=MB单位)。因此,要实现与df结果一致的就得在
获得块数上乘以4,这样已用、可用、总块数就可以实现。如果还要实现百分比一致,
那么要注意的是,df命令获得是整数百分比,没有小数,这里使用的进一法,而不是四
舍五入法。所以在程序里直接+1取整。
disk_size = sfs.f_blocks/1024*sfs.f_bsize/1024;//MB总大小
avilable =sfs.f_bavail/1024*sfs.f_bsize/1024;//MB可以空间大小
double all=sfs.f_blocks - sfs.f_bfree + sfs.f_bavail;
if(0!=all)
percent = (sfs.f_blocks - sfs.f_bfree ) * 100 / all + 1;可用百分比
- 用statfs函数模拟df功能
- statfs获得硬盘使用情况 模拟linux命令 df
- statfs获得硬盘使用情况 模拟linux命令 df
- statfs获得硬盘使用情况 模拟linux命令 df
- statfs获得硬盘使用情况 模拟linux命令 df
- statfs获得硬盘使用情况 模拟linux命令 df(转)
- statfs 函数
- statfs函数
- statfs函数
- statfs函数
- statfs函数的应用
- fstatfs/statfs函数详解
- fstatfs/statfs函数详解
- linux statfs命令函数介绍
- statfs
- statfs
- mysql模拟窗口函数功能
- 模拟实现strstr函数功能
- 如何在managedQuery()和getContentResolver().query()方法中实现结果去重
- Loadrunner 运行场景时:missing newline in XXX.dat 错误解决
- shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- 改项目编译环境的jdk版本
- read和printf
- 用statfs函数模拟df功能
- Vagrant
- 在线桌面版API帮助文档上线啦(聚集常用的技术类帮助文档),方便网友们在线查阅,会不断增加!
- 缠复精华
- AVC到HEVC
- extjs el和contentEl
- S5PV210 I2C设备驱动
- awk数组操作
- MTK GPIO 模拟I2C