ฉันกำลังเขียนโปรแกรมที่แสดงข้อมูลระบบต่าง ๆ (บนระบบ CentOS) ตัวอย่างเช่นประเภทโปรเซสเซอร์และความเร็ว (จาก/proc/cpuinfo), เวลาบูตล่าสุด (คำนวณจาก/proc/uptime), ที่อยู่ IP (จากifconfigเอาต์พุต) และรายการเครื่องพิมพ์ที่ติดตั้ง (จากlpstatเอาต์พุต)
ปัจจุบันได้รับข้อมูลหลายส่วนจากdmidecodeโปรแกรม:
- ประเภทแพลตฟอร์ม (
dmidecode -s system-product-name) - รุ่น BIOS (
dmidecode -s bios-version) - จำนวนหน่วยความจำกายภาพ (
dmidecode -t17 | grep Size)
เหล่านี้จะใช้ได้เฉพาะในกรณีที่โปรแกรมของฉันคือการทำงานเป็นราก (เพราะมิฉะนั้นdmidecodeกระบวนการย่อยล้มเหลวด้วย/dev/mem: Permission deniedข้อผิดพลาด) มีวิธีอื่นในการรับข้อมูลนี้หรือไม่ที่ผู้ใช้ทั่วไปสามารถเข้าถึงได้
/sys/devices/virtual/dmi/idสำหรับ มีข้อมูลเฉพาะแพลตฟอร์มจำนวนมากที่มีอยู่ สำหรับสคริปต์ที่มีประโยชน์ดูunix.stackexchange.com/questions/75750/... สำหรับข้อมูลระบบประโยคอื่น ๆ ของคุณก็ดีเช่นกัน มีสาธารณูปโภคมากมายเช่นfreeหรือแม้กระทั่งhtopที่จะได้รับสิ่งที่คุณต้องการ