Jądro Linuksa udostępnia informacje o bieżącym środowisku za pomocą systemu plików sysfs w/sys. Chciałbym uzyskać informacje na temat procesorów online i ich hierarchii pamięci (pamięci podręczne poziomu 1 do poziomu 3).Jaki jest najlepszy sposób przetwarzania zawartości sysfs przy użyciu C/C++?
Ponieważ wszystkie te informacje są w zasadzie plikami tekstowymi, mógłbym napisać sam parser, ale jestem ciekawy, jaki jest najlepszy sposób przetwarzania informacji w systemie Sysfs. Obecnie znalazłem dwie alternatywy:
libsysfs
i
libudev
Wadą libsysfs
wydaje się, że kod jest już prawie 5 lat i prawie nie ma dokumentacja jest dostępna, libudev
wydaje bardziej aktywny, ale dokumentacja jest dość rzadka. Był tylko jeden przydatny samouczek, który znalazłem pod adresem: libudev
- http://www.signal11.us/oss/udev/ Jaki jest najnowocześniejszy sposób przetwarzania treści z sysfs w C/C++?
[Aktualizacja]
Obecnie nie jest możliwe, aby uzyskać dostęp do danych przechowywanych w /sys/devices/system
ze względu na fakt, że narażona informacje nie są prawdziwe urządzenia. Jedynym sposobem uzyskania dostępu do tych danych jest zrobienie tego ręcznie.
Ponieważ określili to z 'Unix programming', jest' awk' możliwość? To wydaje się być ścieżką najmniejszego oporu, jeśli chodzi o parsowanie tekstu. – SiegeX
Jakiś czas temu też szukałem czegoś do tego, a na koniec dałem i napisałem własne, ponieważ zdałem sobie sprawę, że we wszystkich plikach naprawdę interesowało mnie tylko trochę informacji, więc koszty ogólne nie warto ... – Nim