在C中从设备名称获取硬盘驱动器可用空间

时间:2013-11-27 17:52:55

标签: c linux hard-drive

要在硬盘上获得统计信息,可以使用sys/statvfs

它需要一个路径或一个fd。

int statvfs(const char *path, struct statvfs *buf);
int fstatvfs(int fd, struct statvfs *buf);

在我的应用程序中,我正在解析/ proc / diskstats,它为我提供了设备名称(例如:sda1,sda2)。

我不知道如何使用该设备名称以获得与statvfs函数相同的统计信息。 可以使用哪些功能?

2 个答案:

答案 0 :(得分:1)

阅读/etc/mtab并将设备名称映射到装载路径。

答案 1 :(得分:0)

要将设备与其安装位置连接,请查看mountmount的来源应该告诉您如何找到每个设备的路径。然后,您可以打开路径并致电statvfs