proc(5) - Linux man page(中文翻譯)
名字
proc - process information pseudo-filesystem,進程信息僞文件系統
描述
proc是個作爲內核數據結構接口的僞文件系統,他被掛載在/proc目錄下。該目錄下大多數文件是隻讀的,但某些文件也允許內核變量被修改。
/proc/[number]
/proc目錄下用數字表示的子目錄對應着系統中正在運行的一些進程,子目錄名即爲進程的PID。每個進程子目錄都包含下面這些孫子目錄及文件。
/proc/[number]/comline
該文件包含對應進程的完整命令行指令。在進程被轉移出或成爲殭屍進程的情況下,該文件內沒有內容。
/proc/[number]/cwd
該文件包含對應進程的當前工作目錄完整路徑。在多線程且主線程已經結束的情況下,該文件成爲不可用的。
/proc/[number]/environ
該文件包含對應進程的環境。
/proc/[number]/exe
在Linux 2.2及其後的版本中,該文件是個指向對應進程所執行命令的真正路徑的符號指針。執行該文件就相當於再執行次該進程。
在Linux 2.0及其前的版本中,該文件是個指向對應進程所執行的二進制代碼的指針。
/proc/[number]/fd
這個是子目錄,其中爲對應進程所打開的所有文件都留有進入點。該進入點是根據所打開文件的文件描述符命名的。而該文件描述符又是指向真實文件的符號鏈接。0代表標準輸入,1代表標準輸出,2代表標準錯誤,等等。
/proc/[number]/maps
該文件包含對應進程的當前被映射的內存區域及其進入權限。
其格式如下:
address perms offset dev inode pathname
08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0
address代表進程中佔用的地址空間,perms是權限的集合:
r = read w = write x = execute
s = shared p = private (copy on write)
offset是文件偏移,dev是設備(主設備號:次設備號),inode是設備上的inode。0表示無inode與該內存空間相關聯。
/proc/[number]/mem
該文件用以訪問進程內存的頁面,利用這三個函數open(),read(),fseek()。
/proc/[number]/root
該文件是指向進程根目錄的符號鏈接。
/proc/[number]/smaps(Linux 2.6.14)
該文件包含對應進程映射的內存消耗信息。該文件只有在CONFIG_MMU內核選項可用的情況下才會出現。
/proc/[number]/stat
該文件包含對應進程的狀態信息。主要被ps命令所利用。(略)
/proc/[number]/statm
該文件包含對應進程的頁面內存狀態信息。
/proc/[number]/status
該文件是/proc/[number]/stat和/proc/[number]statm兩文件的集合,更易閱讀。
/proc/[number]/task
該目錄下爲對應進程的每個線程都生成了相應的子目錄。子目錄名爲對應線程的線程ID。(略)
/proc/apm
該文件包含系統(Adcanced power management)高級電源管理版本信息及電源信息。只有當CONFIG_APM在內核編譯時期被定義纔會出現。
/proc/bus
該目錄包含所有系統中被安裝的總線。
/proc/bus/pccard
該子目錄爲pcmcia設備目錄,當CONFIG_PCMCIA在內核編譯時期被定義纔會出現。
/proc/bus/pccard/drivers
/proc/bus/pci
該子目錄爲pci總線子目錄,該目錄下包含許多與pci總線,裝載的設備及設備驅動相關的總線子目錄及僞文件。
/proc/bus/pci/devices
該文件包含有關pci設備的信息。
/proc/cmdline
該文件包含在引導期傳遞給Linux內核的參數。
/proc/cpuinfo
該文件包含CPU相關信息及系統體系相關項目。
/proc/devices
該文件包含系統設備分類下的各自主設備號列表。
/proc/diskstats(Linux 2.5.69)
該文件包含每塊磁盤設備的磁盤IO統計數據。
/proc/dma
該文件包含在使用的已註冊的DMA通道列表。
/proc/driver
空子目錄。
/proc/execdomains
該文件包含內核執行域列表。
/proc/fb
該文件包含幀緩衝區信息。只有當CONFIG_FB在內核編譯時期被定義纔會出現。
/proc/filesystems
該文件包含內核支持的文件系統列表。
/proc/fs
空子目錄。
/proc/ide
該目錄只有當系統擁有ide總線時纔會存在。目錄下爲每個ide通道及插入的設備設有子目錄。
/proc/interrupts
該文件用於記錄i386構架上的每個IRQ的中斷數。
/proc/iomem
Linux 2.4中的IO內存映射。
/proc/ioports
該文件包含當前已註冊並在使用的輸入輸出端口區域。
/proc/kallsyms(Linux 2.5.71)
這是內核輸出的符號定義,被模塊用於動態鏈接和綁定可裝載模塊。在先前的版本中,名爲ksyms。
/proc/kcore
該文件包含系統物理內存的信息。
/proc/kmsg
該文件包含內核信息,可以用syslog系統調用來更清晰地讀取。
/proc/loadavg
該文件較重要,請自行參看原文檔。(略)
/proc/locks
該文件包含當前文件鎖的信息。
/proc/malloc
該文件只在CONFIGDEBUGMALLOC在編譯器被定義時纔出現。
/proc/meminfo
該文件的內容與free命令顯示的內容基本吻合,就是包含存儲器的基本信息。
/proc/mounts
該文件包含掛載在系統內的所有文件系統列表。
/proc/modules
該文件包含已被系統裝載的模塊列表。
/proc/mtrr
Memory Type Range Registers。
/proc/net
該目錄下包含許多網絡相關的僞文件,每個文件都包含網絡層的相關狀態或信息。該目錄下的信息可以使用netstat命令更清晰地獲得。(略)
/proc/partitions
該文件包含每個分區的主次設備號,同時也包含分區塊數及分區名。
/proc/pci
該文件包含內核初始化時找到的PCI設備列表。
/proc/scsi
該目錄下包含scsi中級僞文件及scsi低級驅動目錄。(略)
/proc/self
該目錄與進入/proc文件系統的進程相關。
/proc/slabinfo
該文件包含內核緩存信息。
/proc/stat
該文件包含內核系統統計數據。(略)
/proc/swaps
使用中的交換區。
/proc/sys
該目錄下包含一些列與內核變量一致的文件及子目錄。(略)
/proc/sysvipc
該目錄下包含三個僞文件:msg,sem,shm。
/proc/tty
該目錄下包含tty驅動的僞文件及子目錄。
/proc/uptime
該文件包含計算機正常運行時間數據及計算機用於理想進程的時間。
/proc/version
該文件包含內核版本信息。
/proc/vmstat
該文件包含虛擬內存統計數據。
/proc/zoneinfo
該文件包含內存區域的相關信息。
參見
cat(1), find(1), free(1), mount(1), ps(1), tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), hier(7), arp(8), dmesg(8), hdparm(8), ifconfig(8), init(8), lsmod(8), lspci(8), netstat(8), procinfo(8), route(8)
/usr/src/linux/Documentation/filesystems/proc.txt