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
中存储的数据。访问此数据的唯一方法是手动执行此操作。
答案 0 :(得分:12)
内核作者已发布sysfs-rules.txt,其中解释了如何使用sysfs。他们特别指出
不要使用libsysfs
答案 1 :(得分:1)