/proc 介紹
/proc是一種偽文件系統(tǒng)(也即虛擬文件系統(tǒng)),存儲的是當前內(nèi)核運行狀態(tài)的一系列特殊文件,用戶可以通過這些文件查看有關(guān)系統(tǒng)硬件及當前正在運行進程的信息,甚至可以通過更改其中某些文件來改變內(nèi)核的運行狀態(tài)。
簡單來講,/proc目錄即保存在系統(tǒng)內(nèi)存中的信息。
/proc目錄中包含許多以數(shù)字命名的子目錄,這些數(shù)字表示系統(tǒng)當前正在運行進程的進程號(PID),里面包含對應(yīng)進程相關(guān)的多個信息文件。
/proc/self 介紹
/proc/self表示當前進程目錄。前面說了通過/proc/$pid/來獲取指定進程的信息。如果某個進程想要獲取當前進程的系統(tǒng)信息,就可以通過進程的pid來訪問/proc/$pid/目錄。但是這個方法還需要獲取進程pid.為了更方便的獲取本進程的信息,linux提供了/proc/self/目錄,這個目錄比較獨特,不同的進程訪問該目錄時獲得的信息是不同的,內(nèi)容等價于/proc/本進程pid/。進程可以通過訪問/proc/self/目錄來獲取自己的系統(tǒng)信息,而不用每次都獲取pid。
如何利用
cmdline
獲取當前啟動進程的完整命令
cat /proc/self/cmdline
以上命令返回的結(jié)果,就是啟動當前進程的命令
cwd
cwd 文件是一個指向當前進程運行目錄的符號鏈接。可以通過查看cwd文件獲取目標指定進程環(huán)境的運行目錄
ls /proc/self/cwd
exe
獲取當前進程的可執(zhí)行文件的完整路徑
ls -al /proc/self/exe
environ
獲取當前進程的環(huán)境變量信息
cat /proc/self/environ
maps
/proc/self/maps的內(nèi)容是當前進程的內(nèi)存映射關(guān)系,可通過讀取該文件來得到內(nèi)存數(shù)據(jù)映射的地址。
字段值依次為:內(nèi)存區(qū)域--權(quán)限--文件在內(nèi)存中的偏移量--設(shè)備號--文件索引節(jié)點--路徑
路徑中/usr/bin/cat表示二進制文件
mem
/proc/self/mem的內(nèi)容是當前進程的內(nèi)存映射關(guān)系,可通過讀取該文件來得到內(nèi)存數(shù)據(jù)映射的地址。但是注意該文件不能直接讀取,因為文件中存在著一些無法讀取的未被映射區(qū)域。所以要結(jié)合/proc/self/maps中的偏移地址進行讀取。通過參數(shù)start和end及偏移地址值讀取內(nèi)容。
鏈接:https://www.cnblogs.com/MrSoap/p/18228926
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1406瀏覽量
41056 -
Linux
+關(guān)注
關(guān)注
87文章
11446瀏覽量
212666 -
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
293瀏覽量
20270 -
Proc
+關(guān)注
關(guān)注
0文章
12瀏覽量
9122
原文標題:Linux中/proc 介紹指南
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Linux平臺/proc虛擬文件系統(tǒng)詳解

Linux proc文件系統(tǒng)詳解
【AWorks試用體驗】學(xué)習(xí)筆記(6) proc 文件系統(tǒng)
【Linux學(xué)習(xí)雜談】之proc文件系統(tǒng)
你不知道的Linux內(nèi)核中的proc文件系統(tǒng)
需要了解的Linux中 /proc/[pid] 目錄的各文件
Linux驅(qū)動開發(fā)-proc接口介紹
AIO 3399ProC工具Linux Upgrade Tool 1.34

AIO 3399ProC工具Linux Upgrade Tool v1.24

AIO 3399ProC解合包工具(Linux)

AIO 3399ProC Linux SDK源碼包(僅支持RK3399Pro)

AIO 3399ProC Linux根文件系統(tǒng)鏡像(arm64/arm32)

PROC SQL介紹

評論