Каков наилучший способ обработки содержимого sysfs с использованием C / C ++? - PullRequest
8 голосов
/ 12 января 2011

Ядро Linux предоставляет информацию о текущей среде, используя файловую систему sysfs в / sys. Я заинтересован в получении информации об онлайн-процессорах и их иерархии памяти (кэши с уровня 1 до уровня 3).

Поскольку вся эта информация в основном представляет собой текстовые файлы, я мог бы написать собственный анализатор, но мне любопытно, каков наилучший способ обработки информации в sysfs. На данный момент я нашел две альтернативы:

libsysfs

и

libudev

Недостатком libsysfs является то, что коду сейчас уже почти 5 лет, и почти нет документации, libudev кажется более активным, но документация встречается довольно редко. Был только один полезный учебник, который я нашел на libudev - http://www.signal11.us/oss/udev/

Каков современный способ обработки содержимого из sysfs в C / C ++?

[Update]

В настоящее время невозможно получить доступ к данным, хранящимся в /sys/devices/system, из-за того, что предоставленная информация не является реальным устройством. Единственный способ получить доступ к этим данным - это сделать это вручную.

Ответы [ 2 ]

12 голосов
/ 12 января 2011

Авторы ядра опубликовали sysfs-rules.txt , в котором объясняется, как использовать sysfs. В частности, они указывают

Не используйте libsysfs

1 голос
/ 12 января 2011

в твоих туфлях, я бы написал свою собственную библиотеку. Поскольку эти библиотеки не могут (и, вероятно, не будут) соответствовать всем вашим требованиям. fstream ftw.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...