ฉันกำลังเขียนโปรแกรมที่แสดงข้อมูลระบบต่าง ๆ (บนระบบ 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
ที่จะได้รับสิ่งที่คุณต้องการ