Re: [問題] 取得 LINUX 系統資訊的方式... ??

看板LinuxDev作者 (haha)時間18年前 (2007/01/20 10:25), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串3/3 (看更多)
要取得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

01/20 11:08, , 1F
其實用system()去call shell command就好啦~
01/20 11:08, 1F

01/20 19:41, , 2F
樓上的方法應該不太好....因為output並不會直接pipe
01/20 19:41, 2F

01/20 19:41, , 3F
進你的程式...
01/20 19:41, 3F

01/20 19:42, , 4F
用 popen 可能比較好一點
01/20 19:42, 4F

01/21 16:49, , 5F
感謝大大的指教!! 事實上 經由 trace KDE 的 資訊中心後
01/21 16:49, 5F

01/21 16:50, , 6F
它其實也只是在對 proc 在文書處理 也有用 popen run cmd
01/21 16:50, 6F

01/21 16:51, , 7F
跟諸位講的不謀而合... 謝謝大家的指教... ;-)
01/21 16:51, 7F
文章代碼(AID): #15iNsRb0 (LinuxDev)
文章代碼(AID): #15iNsRb0 (LinuxDev)