Я пишу программу, которая отображает различную системную информацию (в системе 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
которые могут получить то, что вы хотите.