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 ifconfigAusgabe) und Liste der installierten Drucker (von der lpstatAusgabe).
Derzeit werden mehrere Daten aus dem dmidecodeProgramm 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 dmidecodeUnterprozess mit einem /dev/mem: Permission deniedFehler 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 wiefreeoder sogar ,htopdass Sie bekommen , was Sie wollen.