Ich schreibe ein Programm, das verschiedene Systeminformationen anzeigt (auf einem CentOS-System). Beispiel: Prozessortyp und -geschwindigkeit (von /proc/cpuinfo
), letzte Startzeit (berechnet von /proc/uptime
), IP-Adresse (von der ifconfig
Ausgabe) und Liste der installierten Drucker (von der lpstat
Ausgabe).
Derzeit werden mehrere Daten aus dem dmidecode
Programm abgerufen :
- Der Plattformtyp (
dmidecode -s system-product-name
) - Die BIOS - Version (
dmidecode -s bios-version
) - Die Größe des physischen Speichers (
dmidecode -t17 | grep Size
)
Diese sind nur verfügbar, wenn mein Programm als root ausgeführt wird (da sonst der dmidecode
Unterprozess mit einem /dev/mem: Permission denied
Fehler fehlschlägt ). Gibt es eine alternative Möglichkeit, diese Informationen zu erhalten, auf die ein normaler Benutzer zugreifen kann?
/sys/devices/virtual/dmi/id
. Viele plattformspezifische Informationen dort zur Verfügung. Ein praktisches Skript finden Sie unter unix.stackexchange.com/questions/75750/… . Für Systeminformationen ist Ihr anderer Satz zu gut. Es gibt viele Dienstprogramme wiefree
oder sogar ,htop
dass Sie bekommen , was Sie wollen.