亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2383 | 回復(fù): 0
打印 上一主題 下一主題

/proc/目錄簡介 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-04-03 15:12 |只看該作者 |倒序瀏覽
/proc/目錄簡介
進(jìn)程文件系統(tǒng),procfs,是一個偽文件系統(tǒng),它允許對一些非傳統(tǒng)意義上的文件通過標(biāo)準(zhǔn)文件I/O接口進(jìn)行訪問。procfs將Solaris內(nèi)核進(jìn)程架構(gòu)進(jìn)行了抽象,比如當(dāng)前系統(tǒng)中所有運(yùn)行著的進(jìn)程會在/proc/目錄下有所體現(xiàn)。系統(tǒng)中每個進(jìn)程對應(yīng)/proc/目錄下的一個子目錄,子目錄名即相應(yīng)進(jìn)程號(PID),所有進(jìn)程號子目錄構(gòu)成了/proc/目錄的全部內(nèi)容。
許多提供進(jìn)程數(shù)據(jù)和控制點(diǎn)的內(nèi)核數(shù)據(jù)結(jié)構(gòu)在/proc//子目錄下有相應(yīng)反映,
比如,多線程進(jìn)程中每個LWP的相關(guān)數(shù)據(jù)和控制結(jié)構(gòu)體現(xiàn)在/proc//lwp/
中。 /proc/目錄下的對象不是真實(shí)磁盤文件,這些對象位于內(nèi)核內(nèi)存中,用戶執(zhí)行l(wèi)s(1)命令顯示/proc/目錄結(jié)構(gòu)時,系統(tǒng)讀取內(nèi)核內(nèi)存并返回相應(yīng)內(nèi)容。
通過/proc,相對簡便地就可以獲取進(jìn)程信息,比如進(jìn)程執(zhí)行環(huán)境、內(nèi)核資源利用率。進(jìn)程控制和procfs直接相關(guān),procfs最初的設(shè)計目的很簡單,就是為編寫調(diào)試器提供一組接口,現(xiàn)在已經(jīng)有了相當(dāng)大的改進(jìn)。
Solaris系統(tǒng)在/usr/proc/bin/目錄下提供了一組工具從/proc中析取進(jìn)程信息,同時可以進(jìn)行簡單的進(jìn)程控制?梢詤⒖磒roc(1)手冊頁。進(jìn)程狀態(tài)命令ps(1)也利用了procfs接口。
下面列舉可以通過/proc文件系統(tǒng)獲取的控制和信息數(shù)據(jù),關(guān)于這些文件的詳細(xì)信息參看proc(4)手冊頁。
/proc -- procfs的根目錄
/proc/ -- 某一確定進(jìn)程的根目錄,進(jìn)程PID正是子目錄名
/proc//as -- 進(jìn)程地址空間,即struct
proc結(jié)構(gòu)中p_as成員。換句話說,進(jìn)程地址空間以/proc//as文件的形式展現(xiàn)出來,通過這個偽文件系統(tǒng)接口可以訪問相應(yīng)進(jìn)程地址空間。
struct
as * p_as; /* 進(jìn)程地址空間指針 */
# ls -l /proc/53/as
-rw------- 1 root root
1458176 2月 8 17:34 /proc/53/as
struct proc結(jié)構(gòu)定義在/usr/include/sys/proc.h文件中。
/proc//ctl --
一個進(jìn)程控制文件?梢灾粚懘蜷_該文件,然后給相應(yīng)進(jìn)程發(fā)送控制信息。可以停止、啟動進(jìn)程,設(shè)置進(jìn)程停止于某一特殊事件。這演示了procfs的強(qiáng)大和便捷。進(jìn)程控制、事件跟蹤可以通過打開相應(yīng)進(jìn)程的控制文件完成,只需要寫入期待行為的控制信息。參看proc(4)手冊了解控制信息和控制函數(shù)的詳細(xì)介紹。
/proc//status -- 進(jìn)程狀態(tài)信息。對應(yīng)/usr/include/sys/procfs.h文件里定義的struct
pstatus結(jié)構(gòu)。proc(4)手冊頁里也有描述。這個結(jié)構(gòu)中有一個成員
lwpstatus_t pr_lwp; /* status of the
representative lwp */
該成員對應(yīng)一個有代表性的LWP(輕量級進(jìn)程)。單線程進(jìn)程只有一個LWP,很容易選定這個有代表性的LWP。那些多線程進(jìn)程通常有多個LWPs,一個內(nèi)核函數(shù)遍歷當(dāng)前進(jìn)程的所有LWPs,根據(jù)他們的狀態(tài)選取這個有代表性的LWP。首先選取正在執(zhí)行中的LWP,如果不存在這樣的LWP,按照可運(yùn)行、休眠、停止的順序選取LWP。
/proc//lstatus -- lwpstatus結(jié)構(gòu)數(shù)組,進(jìn)程中每個LWP對應(yīng)一個lwpstatus結(jié)構(gòu)。struct
lwpstatus結(jié)構(gòu)定義在/usr/include/sys/procfs.h文件中。
/proc//psinfo --
類似ps(1)命令提供的進(jìn)程信息。對應(yīng)struct psinfo結(jié)構(gòu),類似struct pstatus結(jié)構(gòu),struct psinfo結(jié)構(gòu)中有一個成員
lwpsinfo_t pr_lwp; /* information for representative lwp */
該成員的對應(yīng)一個有代表性的LWP。
/proc//lpsinfo -- lwpsinfo結(jié)構(gòu)數(shù)組,進(jìn)程中每個LWP對應(yīng)一個lwpsinfo結(jié)構(gòu)
/proc//map -- 地址空間映射信息,可以用pmap(1)命令顯示這些數(shù)據(jù)信息。
/proc//rmap --
進(jìn)程中保留地址空間段。用pmap -r命令顯示這些數(shù)據(jù)信息。
/proc//xmap -- 擴(kuò)展地址空間映射信息。用pmap -x命令顯示這些數(shù)據(jù)信息。
/proc//cred -- 進(jìn)程身份驗證信息,對應(yīng)/usr/include/sys/procfs.h文件中
定義的struct
prcred結(jié)構(gòu)。
/proc//sigact -- sigaction結(jié)構(gòu)數(shù)組,描述和本進(jìn)程相關(guān)的所有信號設(shè)置。
struct
sigaction結(jié)構(gòu)定義在/usr/include/sys/signal.h文件中。
/proc//auxv --
auxv_t結(jié)構(gòu)數(shù)組,包含進(jìn)程執(zhí)行時傳遞給動態(tài)鏈接器的初始值。
auxv_t結(jié)構(gòu)定義在/usr/include/sys/auxv.h文件中。
/proc//ldt -- 局部描述符表(LDT),僅存于Intel x86架構(gòu)。
/proc//usage --
進(jìn)程資源利用率的相關(guān)數(shù)據(jù),對應(yīng)struct prusage結(jié)構(gòu),該
結(jié)構(gòu)定義在/usr/include/sys/procfs.h文件中。
/proc//lusage -- prusage結(jié)構(gòu)數(shù)組,對應(yīng)各個LWP資源利用狀況。
/proc//pagedata --
進(jìn)程地址空間的另外一種表現(xiàn)方式,可以用于跟蹤頁面級
的引用和修改。參看struct prpageheader結(jié)構(gòu)定義。
/proc//watch
--
prwatch結(jié)構(gòu)數(shù)組。通過寫控制文件/proc//ctl可以設(shè)置PCWATCH操作,此時建立該文件。允許監(jiān)視一個或多個地址空間范圍,當(dāng)訪問這些被監(jiān)視頁面時,產(chǎn)生一次陷入。
scz注:這個功能和SoftIce的BPR功能類似,adb支持這種陷入,不知是否利用了procfs
/proc//cwd --
到進(jìn)程當(dāng)前工作目錄的符號鏈接
/proc//root -- 到進(jìn)程根目錄的符號鏈接(和上面那個什么區(qū)別)
/proc//fd --
這是一個子目錄,包含進(jìn)程打開的文件句柄
/proc//fd/nn -- 對應(yīng)進(jìn)程打開的某個確定的文件句柄
/proc//object --
這是一個子目錄,包含進(jìn)程相關(guān)的可執(zhí)行文件以及動態(tài)鏈接庫。
/proc//object/nn --
二進(jìn)制目標(biāo)文件。進(jìn)程對應(yīng)的可執(zhí)行文件名為a.out,其余是進(jìn)程相關(guān)的動態(tài)鏈接庫文件。
object目錄提供的信息是進(jìn)程級的,每個/proc//目錄有一個lwp子目錄,提供了LWP級的信息:
/proc//lwp --
這是一個子目錄,包含進(jìn)程中所有LWPs的信息
/proc//lwp/ -- 這是一個子目錄,包含對應(yīng)lwpid的LWP信息
/proc//lwp//lwpctl -- 一個控制文件,通過它可以在LWP級上針對每個LWP發(fā)布控制操作
/proc//lwp//lwpstatus --
LWP狀態(tài)信息,對應(yīng)lwpstatus結(jié)構(gòu),該結(jié)構(gòu)定義在/usr/include/sys/procfs.h文件中
/proc//lwp//lwpsinfo -- 對應(yīng)lwpsinfo結(jié)構(gòu),同樣定義在/usr/include/sys/procfs.h文件中
/proc//lwp//lwpusage -- LWP資源利用信息,對應(yīng)prusage結(jié)構(gòu)
/proc//lwp//xregs --
這個文件是處理器架構(gòu)相關(guān)的,某些平臺上可能沒有這個文件。對于SPARC系統(tǒng),這個文對/usr/include/sys/procfs_isa.h文件中定義的prxregset結(jié)構(gòu)。
/proc//lwp//gwindows --
常規(guī)寄存器窗口。這個文件僅存于SPARC架構(gòu)的系統(tǒng),描述LWP使用的常規(guī)寄存器組(硬件上下文的一部分),對應(yīng)gwindows結(jié)構(gòu),該結(jié)構(gòu)定義在/usr/include/sys/regset.h文件中。
/proc//lwp//asrs -- 輔助寄存器組,僅存于SPARC V9(UltraSPARC)架構(gòu),專為SPARC
V9架構(gòu)定義的一組額外的硬件寄存器,要求sun4u、64-bit內(nèi)核(Solaris
7及其后續(xù)版本)、64-bit進(jìn)程。注意,64-bit內(nèi)核可以運(yùn)行32-bit進(jìn)程,但是32-bit進(jìn)程沒有這樣一個文件與之對應(yīng)。
               
               
               

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u2/79022/showart_1889628.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP