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
中的数据,因为暴露的信息不是真实设备。访问此数据的唯一方法是手动执行。
最佳答案
内核作者已发布 sysfs-rules.txt ,其中解释了必须如何使用 sysfs。他们特别指出
Do not use libsysfs
关于c++ - 使用 C/C++ 处理 sysfs 内容的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4673564/