歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux系統proc目錄進程信息詳解

linux系統proc目錄進程信息詳解

日期:2017/3/2 9:59:42   编辑:關於Linux

Proc 文件系統是一個實時的,常駐內存的文件系統,它跟蹤進程在你機器上的運行情況和你系統的狀態。/proc文件系統是常駐虛擬內存並且維持著操作系統的動態數據。大部分的 /proc文件系統信息被實時更新來與當前操作系統的狀態一致。/proc文件系統的內容能被任何有相應權限的人讀取。但是,/proc文件系統的特定的 部分只能被這個進程的擁有者和root用戶讀取。/proc文件系統的內容從特定的/proc目錄得到數據並且顯示出來,它們有很多用途。
下面是一個PROC文件系統的例子,可以看出proc文件系統裡面有很多數字,其它的信息相對容易理解,這裡不作介紹,本文主要深入分析proc目錄下的數字信息。


#cd proc

#ls
1 4 9 diskstats iomem meminfo self uptime
10 5 97 driver ioports misc slabinfo version
114 6 buddyinfo execdomains irq mounts stat vmstat
126 7 bus filesystems kcore mtd swaps zoneinfo
128 8 cmdline fs kmsg net sys
2 85 cpuinfo ide loadavg partitions sysvipc
3 88 devices interrupts locks pci tty
你看到的上面列出的那些數字目錄代表進程,這些進程在我們對/proc文件系統作快照時正運行在機器上。我們隨便看一個進程目錄的內容:
# ll 126
total 0
-r--r--r-- 1 root root 0 Jan 1 00:08 cmdline
lrwxrwxrwx 1 root root 0 Jan 1 00:09 cwd -> /proc
-r-------- 1 root root 0 Jan 1 00:09 environ
lrwxrwxrwx 1 root root 0 Jan 1 00:09 exe -> /bin/bash
dr-x------ 2 root root 0 Jan 1 00:00 fd
-r--r--r-- 1 root root 0 Jan 1 00:09 maps
-rw------- 1 root root 0 Jan 1 00:09 mem
-r--r--r-- 1 root root 0 Jan 1 00:00 mounts
-rw-r--r-- 1 root root 0 Jan 1 00:09 oom_adj
-r--r--r-- 1 root root 0 Jan 1 00:09 oom_score
lrwxrwxrwx 1 root root 0 Jan 1 00:09 root -> /
-r--r--r-- 1 root root 0 Jan 1 00:09 smaps
-r--r--r-- 1 root root 0 Jan 1 00:08 stat
-r--r--r-- 1 root root 0 Jan 1 00:09 statm
-r--r--r-- 1 root root 0 Jan 1 00:08 status
dr-xr-xr-x 3 root root 0 Jan 1 00:09 task


看上面輸出的第一行。

-r--r--r-- 1 root root 0 Jan 1 00:08 cmdline

"cmdline",這個文件包含整個用來產生進程的命令行。這個文件的內容是命令行參數包括傳遞來啟動進程的所有參數。所有包含在這個文件的信息即命令和各個啟動參數,沒有任何的格式和任何的空格。

lrwxrwxrwx 1 root root 0 Jan 1 00:09 cwd -> /proc

"cwd",像我們從上面看見的,這是一個符號鏈接,它指向進程的當前工作目錄。

-r-------- 1 root root 0 Jan 1 00:09 environ

"environ"包括在VARIABL=value為這個進程定義的所有的環境變量。正如"cmdline"一樣,包含在文件中的命令和各個參數的信息沒有任何的格式和空格。

lrwxrwxrwx 1 root root 0 Jan 1 00:09 exe -> /bin/ver

"exe",這是一個符號鏈接指向啟動當前進程的可執行文件。

dr-x------ 2 root root 0 Jan 1 00:00 fd

"fd",這個目錄包括被指定進程打開的文件描述符,如果一個進程打開的文件描述符過多,會造成打開文件失敗,通過檢查這個目錄可以查找打開文件失敗的原因。

-r--r--r-- 1 root root 0 Jan 1 00:09 maps

"maps", 當你打出這個命名管道的內容,你可以看到進程的地址空間部分,當前被映射到一個文件。這個部分,從左到右是:和這個映射有關的地址空間,和這個映射有關的 權限,距離文件開始(即這個映射開始的地方)的偏移量,這個映射文件所在的設備,文件的inode號,最後是文件名本身。

"root",這是一個符號鏈接指向這個進程的/proc目錄。

-r--r--r-- 1 root root 0 Jan 1 00:08 status

"status",這個文件給你有關進程名的信息,它的當前的狀態,睡眠或者清醒,它的PID,UID,PPID和大量其它基本信息。這個信息可以在一個更簡單和結構化的語法中看到,通過使用工具如"ps"和"top"。

Copyright © Linux教程網 All Rights Reserved