c - Linux:从/proc 获取挂载点利用率?

标签 c linux embedded-linux

我知道我可以使用 df 之类的命令行工具并执行如下操作来获取挂载点利用率:

popen("df -h /var/log | awk '{if($1==\"tmpfs\") print $5}'","r")

其中第五列是使用百分比。

我想知道是否有一种方法可以从/proc/访问挂载点利用率,例如/proc/mounts。我觉得从/proc/获取这些信息比使用 df 和 awk 来解析用法更快更有效。我已经搜索过 mntent.h 但也找不到任何有希望的东西。有什么想法吗?

最佳答案

您可能需要 statfs(2)系统调用(它不使用 /proc/)。您可能会通过 statvfs(3) 使用它Posix 函数。

请注意,/proc/ 文件系统(还有 /sys/ ...)包含由内核按需生成的伪文件,没有任何 IO。参见 proc(5) .您可以按顺序阅读 /proc/self/mounts 和/或 /proc/self/mountstats 和/或 /proc/fs/ 下的适当文件> 和/或 /sys/(例如 /proc/fs/ext4/sda1/ 甚至 /sys/block/sda/sda1 中的某些文件/ 用于我的 台式电脑;它在你的 上会有所不同....)

也许 systemd也能给出这样的信息,只是我不够了解。

关于c - Linux:从/proc 获取挂载点利用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23116934/

相关文章:

c - 将 pthread 作为输入并将其挂起的函数

android - 无法列出目标平台。请确保android sdk路径是正确的?

c - 如何在 Xilinx SDK for linux Plattform 中添加 lwip 库

c - GTK: "key-press-event"按下 Shift 时的处理

c - x86-64下的快速堆栈切换

linux - 如何在 Linux 中创建很多(我的意思是很多)套接字?

c++ - Qt4.8嵌入。使用 QCursor::setPos() 调整鼠标输入会导致光标移动

linux - 无法在屏幕上停用省电功能

c - 增加堆栈保留后堆栈溢出

java - 响应进程对话框