如何查看進程打開了哪些文件?---linux下的proc文件系統

procfs是一種僞文件系統。 記錄了系統運行時的所有內核信息和配置信息。這樣我們就可以簡單直接的通過echo或cat這樣的文件操作命令對系統信息進行查取。

procfs是一種文件系統,通常會掛載在/proc上。ls /proc 可以看到很多以進程ID命名的文件夾,每個進程運行時的信息都記錄在相應的文件夾下,而內核運行時信息直接記錄在/proc下,大多是隻讀文件,如meminfo,cpuinfo,cmdline等,非數字命名的文件夾,是內核各子系統相關部分,如bus 總線信息(只讀)
drivers 驅動信息(只讀)
fs 文件系統特別信息(只讀)
ide IDE接口信息(只讀)
irq IRQ信息(只讀)
net 網絡子系統信息(只讀)
scsi SCSI系統信息(只讀)
sysvipc IPC子系統信息(只讀)
tty tty子系統信息(只讀)
sys 系統內核可調參數 (可調)

 

通過訪問這些文件和文件夾,我們可以實時查詢到當前系統的運行信息,甚至是某一進程的運行時信息。
比如查看某個進程打開了哪些文件:ls -l /proc/5040/fd/
查看這個進程的工作路徑:ls -l /proc/5040/cwd/
查看這個進程的二進制文件所在位置:ls -l /proc/5040/exe
查看進程的狀態總覽:cat /proc/5040/status
查看進程的內存使用狀態: cat /proc/5040/statm

 

查看當前系統的內存使用情況:cat /proc/meminfo
查看當前系統的網絡流量:cat /proc/net/dev
查看當前系統的負載:cat /proc/loadavg
查看當前系統的連接情況:cat /proc/net/snmp
查看當前系統的基本統計情況(cpu時間的消耗分佈等):cat /proc/stat

 

如果對這些文件和文件夾的命名或內容意義並不清楚的話,可以使用 man proc 查看系統說明。

參考自http://apps.hi.baidu.com/share/detail/32689077

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章