Estou escrevendo um programa que exibe várias informações do sistema (em um sistema CentOS). Por exemplo, o tipo e a velocidade do processador (de /proc/cpuinfo
), o último tempo de inicialização (calculado de /proc/uptime
), o endereço IP (de ifconfig
saída) e uma lista de impressoras instaladas (de lpstat
saída).
Atualmente, vários dados são obtidos do dmidecode
programa:
- O tipo de plataforma (
dmidecode -s system-product-name
) - A versão do BIOS (
dmidecode -s bios-version
) - A quantidade de memória física (
dmidecode -t17 | grep Size
)
Eles estarão disponíveis apenas se meu programa for executado como root (caso contrário, o dmidecode
subprocesso falhará com um /dev/mem: Permission denied
erro). Existe uma maneira alternativa de obter essas informações que um usuário normal possa acessar?
/sys/devices/virtual/dmi/id
. Muitas informações específicas da plataforma estão disponíveis lá. Para um script útil, consulte unix.stackexchange.com/questions/75750/… . Para informações do sistema, sua outra frase também é boa. Existem muitos utilitários, como esses,free
ou até mesmohtop
o que você deseja.