亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

linux2.6.38.2進程列表顯示

系統(tǒng) 1828 0

哈爾濱理工大學(xué)軟件工程專業(yè)08-7李萬鵬原創(chuàng)作品,轉(zhuǎn)載請標(biāo)明出處

http://blog.csdn.net/woshixingaaa/archive/2011/04/15/6324900.aspx

這里使用/proc文件系統(tǒng)顯示出進程列表。/proc文件系統(tǒng)是一種特殊的,由軟件創(chuàng)建的文件系統(tǒng),內(nèi)核使用它向外界導(dǎo)出信息。/proc下的每個文件都綁定于一個內(nèi)核函數(shù),用戶讀 取其中的文件時,該函數(shù)動態(tài)的生成文件的”內(nèi)容”。現(xiàn)代Linux發(fā)行版中的很多工具都是通過/proc/來獲取它們需要的信息,例如ps,top和uptime。/proc存于內(nèi)存中,關(guān)機后就 消失了。
所有使用/proc的模塊必須包含<linux/proc_fs.h>,并通過這個頭文件來定義正確的函數(shù)。為創(chuàng)建一個只讀的/proc文件,驅(qū)動必須實現(xiàn)一個函數(shù),用于讀取文件時生成數(shù)據(jù)。
當(dāng)某個進程讀取這個文件時,讀取請求會通過這個函數(shù)發(fā)送到驅(qū)動程序模塊。在某個進程讀取我們的/proc文件時,內(nèi)核會分配一個內(nèi)存頁(PAGE_SIZE字節(jié)的內(nèi)存塊),驅(qū)動程序可 以將數(shù)據(jù)通過這個內(nèi)存頁返回到用戶空間。該緩沖區(qū)會傳入傳入我們定義的函數(shù),而該函數(shù)稱為read_proc方法:

一旦創(chuàng)建好了一個read_proc函數(shù),就需要把它與一個/proc入口項連接起來。這通過調(diào)用create_proc_read_entry實現(xiàn):

其中,name是要創(chuàng)建的文件名稱;mode是該文件的保護掩碼,base是該文件所在的目錄,read_proc是實現(xiàn)文件的read_proc函數(shù),內(nèi)核會忽略data參數(shù),但是會將該函數(shù)傳遞給 read_proc。
在卸載模塊時,/proc中的入口項也應(yīng)被刪除。remove_proc_entry就是用來撤銷create_proc_read_entry所做的工作的:

在read_myproc中,我們打印進程列表的信息。這里我是通過手動遍歷的,沒有使用list_for_each函數(shù)。在內(nèi)核中進程是使用進程描述符task_struct來描述的,它是一個結(jié)構(gòu) 體,包含了進程的相關(guān)信息。這個結(jié)構(gòu)體的獲得是通過slab來分配的。正因為如此,所以UNIX有一個特性就是創(chuàng)建進程非常迅速。task_struct是通過list_head域鏈接到一起的,這 個雙向循環(huán)鏈表把所有的進程描述符串到了一起。在linux內(nèi)核鏈表中,不是鏈表結(jié)構(gòu)中包含數(shù)據(jù),而是在數(shù)據(jù)結(jié)構(gòu)中包含鏈表節(jié)點。init_task是0號進程的進程描述符(也就是傳說中的idle或swapper進程)。從它下一個開始遍歷,也就是從init進程開始。list_entry可以通過指向成員的指針獲得指向這個容器的指針。

顯示結(jié)果如下,我只截了部分:

linux2.6.38.2進程列表顯示

linux2.6.38.2進程列表顯示


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品一区二三区2022 | 91探花视频在线观看 | 国产国语对白一级毛片 | 国产亚洲精品美女久久久 | 国产高清国内精品福利色噜噜 | xxx国产老太婆视频 xxx毛片 | 热久久国产 | 欧美一级午夜免费视频你懂的 | 9久久这里只有精品国产 | 日韩欧美一级毛片精品6 | 99久久综合狠狠综合久久aⅴ | www.四虎影院.con | 国产成人精品一区 | 久久久中文字幕 | 一道精品视频一区二区三区图片 | 日本精品在线 | 亚洲热线99精品视频 | 深夜精品影院18以下勿进 | 中文字幕一区二区三区免费看 | 亚洲精品国产第一区二区多人 | 日日操夜夜操视频 | 亚洲天堂一区二区三区四区 | 欧美乱插 | 日批视频网址免费观看 | 老司机午夜精品视频播放 | 天天插天天射天天干 | 国产精品久久久久久久久久日本 | 亚洲欧美日韩高清一区二区三区 | 人人狠狠综合久久亚洲88 | 中文字幕日本一区波多野不卡 | 国产系列欧美系列日韩系列在线 | 国产欧美精品区一区二区三区 | 特级毛片免费视频观看 | 久久久久久综合一区中文字幕 | 国产成人久久精品激情 | 精品久久久久久久久久中文字幕 | 亚洲精品乱码蜜桃久久久 | 亚洲精品区一区二区三区四 | 91久久香蕉国产线看 | 四虎在线最新地址4hu | 亚洲一区二区中文 |