我正在编写一个显示各种系统信息的程序(在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
可以为您提供所需的工具。