作者piimaila (haha)
看板LinuxDev
標題Re: [問題] 取得 LINUX 系統資訊的方式... ??
時間Sat Jan 20 10:25:30 2007
要取得linux系統資訊, 說真的很複雜, 而且並沒有統一的方式
硬要說有, 可能有套tog-pegasus你可以參考, 但是我想跟你的理想有非常遙遠的差距
那是一套CIM的工具, 可視為linux下的WMI, 但是linux下你也知道, 啥都有啥都少一點
你可能要自己寫一堆provider, 才可讓這個工具實用, 這工具redhat預設安裝
我不太清楚debian有無此工具, 你說的"資料庫" 應該是指這東西
但是我只能跟你說非常不實用, 只有"重視架構"到有點病態的人會走這條路
(我剛好就遇到 冏rz..., 所以小第對滿嘴架構的人頗反感)
建議你用現成工具作文字處理就好, 這不是"丟臉","沒架構" 在linux下是很正常的
top, ps, inb, outb 等多數linux系統工具, 事實上也是對/proc作文書處理而已,
系統資訊主要是可由/proc, dmidecode, hdparm等取得
如果你硬要寫C code, "為寫而寫", 你各個硬體的低階控制在linux下沒有統一
SCSI, 你可能要去翻SCSI COMMAND, sdparm原始碼你可以參考
IDE, 你可以參考hdparm原始碼
CPU, dmidecode內原始碼可以參考
簡單的來說就是把各個工具的部分程式抄一遍, 別人給了指令
如果你硬要"重做" 可以去看這些指令的原始碼
※ 引述《KENyroj (難得一身雞蛋糕...)》之銘言:
: ※ 引述《KENyroj (難得一身雞蛋糕...)》之銘言:
: : 請問 LINUX 如何取得系統資訊... ??
: : 比如說現在已安裝的套件... (好像是在某個資料庫?)
: : 或著是一些硬體資訊...
: : 除了用 command (什麼 rpm, dmsg這類的)
: : 請問還能怎麼做... ?? 懇請賜教 ^^;
: : __yroj 小弟用的系統是 debain
: 對不起手動置底一下... XD 我是要用 C 來寫取得資訊的程式...
: 之前推文的大大似乎主要是以指令取得資訊的方式居多... 感謝回應
: 目前找到的資訊是... 用 sysconf 可以取得一些數值的資訊...
: 不過還是很有限... 不知那種... 比如 CPU 型號, 硬碟廠牌之類的...
: 要如何取得呢... 還請大大賜教...
: __yroj
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.251.34
推 fumin:其實用system()去call shell command就好啦~ 01/20 11:08
推 TroyLee:樓上的方法應該不太好....因為output並不會直接pipe 01/20 19:41
→ TroyLee:進你的程式... 01/20 19:41
→ TroyLee:用 popen 可能比較好一點 01/20 19:42
推 KENyroj:感謝大大的指教!! 事實上 經由 trace KDE 的 資訊中心後 01/21 16:49
→ KENyroj:它其實也只是在對 proc 在文書處理 也有用 popen run cmd 01/21 16:50
→ KENyroj:跟諸位講的不謀而合... 謝謝大家的指教... ;-) 01/21 16:51