Я пишу програму, яка відображає різну системну інформацію (у системі CentOS). Наприклад, тип та швидкість процесора (від /proc/cpuinfo), час останнього завантаження (обчислюється з /proc/uptime), IP-адреса (з ifconfigвиходу) та список встановлених принтерів (з lpstatвиводу).
В даний час з dmidecodeпрограми отримується кілька даних :
- Тип платформи (
dmidecode -s system-product-name) - Версія BIOS (
dmidecode -s bios-version) - Об'єм фізичної пам'яті (
dmidecode -t17 | grep Size)
Вони доступні лише в тому випадку, якщо моя програма запускається як root (тому що в іншому випадку dmidecodeпідпроцес закінчується /dev/mem: Permission deniedпомилкою). Чи є альтернативний спосіб отримати цю інформацію, щоб звичайний користувач міг отримати доступ?
/sys/devices/virtual/dmi/id. Тут доступна велика кількість інформації, що стосується платформи. Для зручного сценарію см unix.stackexchange.com/questions/75750 / ... . Для системної інформації також добре ваше інше речення. Є безліч комунальних служб, таких якfreeі навіть,htopякі можуть отримати вам те, що ви хочете.