Estoy escribiendo un programa que muestra diversa información del sistema (en un sistema CentOS). Por ejemplo, el tipo de procesador y la velocidad (desde /proc/cpuinfo
), el último tiempo de inicio (calculado desde /proc/uptime
), la dirección IP (desde la ifconfig
salida) y una lista de impresoras instaladas (desde la lpstat
salida).
Actualmente, se obtienen varios datos del dmidecode
programa:
- El tipo de plataforma (
dmidecode -s system-product-name
) - La versión del BIOS (
dmidecode -s bios-version
) - La cantidad de memoria física (
dmidecode -t17 | grep Size
)
Estos solo están disponibles si mi programa se ejecuta como root (porque de lo contrario el dmidecode
subproceso falla con un /dev/mem: Permission denied
error). ¿Hay alguna forma alternativa de obtener esta información, a la que pueda acceder un usuario normal?
/sys/devices/virtual/dmi/id
. Mucha información específica de la plataforma está disponible allí. Para ver un script útil, consulte unix.stackexchange.com/questions/75750/… . Para información del sistema, su otra oración también es buena. Hay muchas utilidades comofree
o inclusohtop
que pueden obtener lo que desea.