【发布时间】:2011-01-12 20:14:09
【问题描述】:
Linux 内核使用 /sys 中的 sysfs 文件系统公开有关当前环境的信息。我有兴趣获取有关在线 CPU 及其内存层次结构(1 级到 3 级缓存)的信息。
由于所有这些信息基本上都是文本文件,我可以自己编写解析器,但我很好奇在 sysfs 中处理信息的最佳方式是什么。目前我找到了两种选择:
libsysfs
和
libudev
libsysfs 的缺点似乎是代码现在已经快 5 年了,几乎没有可用的文档,libudev 似乎更活跃但文档很少。我在libudev 上只找到了一个有用的教程——http://www.signal11.us/oss/udev/
在 C/C++ 中处理来自 sysfs 的内容的最先进方法是什么?
[更新]
目前无法访问存储在/sys/devices/system 中的数据,因为暴露的信息不是真实设备。访问这些数据的唯一方法是手动进行。
【问题讨论】:
-
既然你用
unix-programming标记了这个,awk有可能吗?在文本解析方面,这似乎是阻力最小的路径。 -
前段时间我也在为此寻找一些东西,最后放弃并写了我自己的,因为我意识到在所有文件中,我真的只对特定的一点感兴趣的信息,所以开销是不值得的......