如何使用C程序在Linux中获取磁盘使用情况?

工程师

我想在Linux中使用磁盘,但是当我在上面的代码中运行时,结果是错误的。

#include <stdio.h>
#include <sys/statvfs.h>

int main(int argc, const char *argv[])
{

    const unsigned int GB = (1024 * 1024) * 1024;
    struct statvfs buffer;
    int ret = statvfs("/dev/sda4", &buffer);

    if (!ret) {
        const double total = (double)(buffer.f_blocks * buffer.f_frsize) / GB;
        const double available = (double)(buffer.f_bfree * buffer.f_frsize) / GB;
        const double used = total - available;
        const double usedPercentage = (double)(used / total) * (double)100;
        printf("Total: %f --> %.0f\n", total, total);
        printf("Available: %f --> %.0f\n", available, available);
        printf("Used: %f --> %.1f\n", used, used);
        printf("Used Percentage: %f --> %.0f\n", usedPercentage, usedPercentage);
    }
    return ret;
}

输出为:

Total: 7.757446 --> 8
Available: 7.757446 --> 8
Used: 0.000000 --> 0.0
Used Percentage: 0.000000 --> 0

我在linux终端中运行df命令。输出为:

Filesystem       1K-blocks    Used  Available   Use% Mounted on      
**/dev/sda4      471705824 13885152 433789596   4% /**

这两个结果互不相同。是什么原因?

天花板

您不能使用设备“ / dev / sda4”。您必须使用安装设备的路径,例如“ /”或“ / home”。如果使用设备名称,则会得到“ udev”文件系统的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何随时间跟踪程序的磁盘使用情况?

来自分类Dev

在Java中获取文件的实际磁盘使用情况

来自分类Dev

如何检查ftp中的磁盘使用情况?

来自分类Dev

如何了解Windows 10中的磁盘使用情况?

来自分类Dev

如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

来自分类Dev

如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

来自分类Dev

记录磁盘使用情况的脚本或程序

来自分类Dev

获取每个用户的磁盘使用情况

来自分类Dev

如何按文件类型显示磁盘使用情况?

来自分类Dev

如何找出实际的磁盘使用情况?

来自分类Dev

在Powershell中输出磁盘使用情况

来自分类Dev

在 Nautilus/Thunar 中显示磁盘使用情况

来自分类Dev

如何从命令行获取磁盘使用情况?

来自分类Dev

无论磁盘使用情况如何,获取目录的大小(包括其所有内容)

来自分类Dev

如何从计算引擎使用情况报告中获取任何实例的 CPU 使用情况?

来自分类Dev

如何在命令行Linux中分析磁盘使用情况?

来自分类Dev

PostgreSQL:列磁盘使用情况

来自分类Dev

符号链接的磁盘使用情况

来自分类Dev

磁盘使用情况分析

来自分类Dev

显示磁盘使用情况

来自分类Dev

磁盘使用情况很奇怪

来自分类Dev

如何在Unix中查找目录的磁盘使用情况

来自分类Dev

获取应用程序池的内存使用情况

来自分类Dev

bash脚本,显示cpu使用情况,磁盘使用情况,ram使用情况

来自分类Dev

如何获取Winform应用程序使用情况的统计信息

来自分类Dev

如何打印应用程序的内存使用情况?

来自分类Dev

Python:如何获取当前的带宽使用情况?

来自分类Dev

如何获取Android Webview的WebStorage使用情况/配额?

来自分类Dev

在Go 1.3.1中获取可变的内存使用情况

Related 相关文章

  1. 1

    如何随时间跟踪程序的磁盘使用情况?

  2. 2

    在Java中获取文件的实际磁盘使用情况

  3. 3

    如何检查ftp中的磁盘使用情况?

  4. 4

    如何了解Windows 10中的磁盘使用情况?

  5. 5

    如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

  6. 6

    如何在不使用Azure门户的情况下获取DocumentDB磁盘使用情况

  7. 7

    记录磁盘使用情况的脚本或程序

  8. 8

    获取每个用户的磁盘使用情况

  9. 9

    如何按文件类型显示磁盘使用情况?

  10. 10

    如何找出实际的磁盘使用情况?

  11. 11

    在Powershell中输出磁盘使用情况

  12. 12

    在 Nautilus/Thunar 中显示磁盘使用情况

  13. 13

    如何从命令行获取磁盘使用情况?

  14. 14

    无论磁盘使用情况如何,获取目录的大小(包括其所有内容)

  15. 15

    如何从计算引擎使用情况报告中获取任何实例的 CPU 使用情况?

  16. 16

    如何在命令行Linux中分析磁盘使用情况?

  17. 17

    PostgreSQL:列磁盘使用情况

  18. 18

    符号链接的磁盘使用情况

  19. 19

    磁盘使用情况分析

  20. 20

    显示磁盘使用情况

  21. 21

    磁盘使用情况很奇怪

  22. 22

    如何在Unix中查找目录的磁盘使用情况

  23. 23

    获取应用程序池的内存使用情况

  24. 24

    bash脚本,显示cpu使用情况,磁盘使用情况,ram使用情况

  25. 25

    如何获取Winform应用程序使用情况的统计信息

  26. 26

    如何打印应用程序的内存使用情况?

  27. 27

    Python:如何获取当前的带宽使用情况?

  28. 28

    如何获取Android Webview的WebStorage使用情况/配额?

  29. 29

    在Go 1.3.1中获取可变的内存使用情况

热门标签

归档