statfs()得到的/dev/sda1/和dev/sda2的大小是一样的 而且刚好都是/dev/sda1的大小,而实际的大小应该是图片中的。 是不是我用这个函数获取分区的信息不合适呢? [ 本帖最后由 Ediml 于 2007-9-17 11:41 编辑 ]
我想获得磁盘的总空间及可用空间,写了段code但是结果却与df -h统计的结果相差很大,什么原因啊?谢谢:
[code]
#include
先说statfs结构: #include /* 或者 */ int statfs(const char *path, struct statfs *buf); int fstatfs(int fd, struct statfs *buf); 参数: path: 位于需要查询信息的文件系统的文件路径名。 fd: 位于需要查询信息的文件系统的文件描述词。 buf:以下结构体的指针变量,用于储存文件系统相关的信息 struct statfs { long f_type; /* 文件系统类型 */ long f_bsize; /* 经过优化的...
我把u盘挂载到一个目录,原来就是FAT32格式的,用mkdosfs把U盘格式化,然后用statfs查看,可用大小没有变化呢,如果重新挂载一次就正常了,各位大虾帮我看看是怎么回事么,多谢了!!
各位前辈,下面是我的code
[code]
#include
本帖最后由 aiyu2199 于 2012-11-26 13:15 编辑 问题1.在Windows下把U盘格式化为Fat32格式之后,查看U盘大小时,已使用4K 谁能解释一下这4K从哪里来??? 问题2.使用刚格式化好的U盘。在Linux下,Mount成功之后,使用df查看U盘大小的时候,会阻塞在那里,4G的U盘会阻塞20秒左右。 这是为什么? 问题3.如果在刚格式化好的U盘,随便放一个文件,空的也行(必须在windows下操作),这时再按问题2的步骤进行,不会再出现阻塞,...
为什么用df看到的磁盘使用率和用statfs算出的使用率不一样呢? 用df看到的: Filesystem 1K-块 已用 可用 已用% 挂载点 /dev/sda3 10080108 4032880 5535180 43% / tmpfs 127160 12 127148 1% /dev/shm /dev/sda2 64443 6261 54854 11% /boot /dev/sda4 23775384 134...
守护进程中的这样一段代码: while(1){ sleep(10); system("bash /13-2.1"); /*#!/bin/bash mount|sed -n -e '/^\/dev\/sd[^a][[:digit:]] /p'|awk '{print $1}'> /root/device.txt 获得优盘的设备名 */ fp=fopen("/root/device.txt","r+"); while(1){ fscanf(fp,"%s",str); statfs(str,&buf); puts(str); printf("size: %ld\n", buf.f_blocks*buf....