Linux Programmers Manual
22 July 1996
Aliases: procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5), procfs(5)
manpages-zh
Chinese manual pages
man-pages-zh_tw
Traditional Chinese Linux man pages
manpages
Manual pages about using a GNU/Linux system
man-pages
Linux kernel and C library user-space interface documentation
NAME
proc - 進程信息僞文件系統
描述
/proc 是一個僞文件系統, 被用作內核數據結構的接口, 而不僅僅 是解釋說明 /dev/kmem. /proc裏的大多數文件都是隻讀的, 但也可 以通過寫一些文件來改變內核變量.
下面對整個 /proc 目錄作一個大略的介紹.
[number] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在 /proc 目錄裏, 每個正在運行的進程都有一個以該進程 ID 命名的子目錄, 其下包括如下的目錄和僞文件.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cpuinfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
保存了CPU 以及體系架構依賴條目的列表. 對於不同的系 統架構有不同的列表, 共有的兩項是 cpu 和 BogoMIPS, cpu 可能是當前在用的 CPU, 而 BogoMIPS 則是內核初始化時計算出 的一個系統常數. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
devices | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
主設備號及設備組的列表, 文本格式. MAKEDEV 腳本使用 該文件來維持內核的一致性. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dma | 一個列表, 指出正在使用的ISA DMA (直接內存訪問)通道. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
filesystems | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
以文本格式列出了被編譯進內核的文件系統. 當沒有給 mount(1) 指明哪個文件系統的時候, mount(1) 就依靠該文件遍歷不同的文件系統. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
interrupts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
該文件以 ASCII 格式記錄了(至少是在 i386 體系上的)每次 IRQ 的中斷數目. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ioports | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
該文件列出了當前在用的已註冊 I/O 端口範圍. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kcore | 該僞文件以 core 文件格式給出了系統的物理內存映象, 再 利用未卸載的內核 (/usr/src/linux/tools/zSystem), 我 們就可以用 GDB 查探當前內核的任意數據結構.
該文件的總長度是物理內存 (RAM) 的大小再加上 4KB.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kmsg | 可以用該文件取代系統調用 syslog(2) 來記錄內核信息. 但是讀該文件需要超級用戶權限, 並且一次只能有一個進 程可以讀該文件, 因而如果一個使用了 syslog(2) 系統調用功能來記錄內核信息的系統日誌進程正在運行的話, 別的進程就不能再去讀該僞文件了.
該文件的內容可以用 dmesg(8) 來察看.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ksyms | 該文件保存了內核輸出的符號定義, modules(X) 使用該文件 動態地連接和捆綁可裝載的模塊. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
loadavg | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
平均負載數給出了在過去的 1, 5, 15 分鐘裏在運行隊列裏 的任務數, 與 uptime(1) 等命令的結果相同. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
locks | 這個文件顯示當前文件鎖. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
malloc | 只有在編譯時定義了 CONFIGDEBUGMALLOC 纔會有該文件. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
meminfo | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
free(1) 利用該文件來給出系統總的空閒內存和已用內存 (包括物理內存和交換內存), 以及內核所使用的共享內存 和緩衝區.
該文件與 free(1) 格式相同, 但是以字節爲單位而不是 KB.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
modules | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
列出了系統已載入的模塊, 文本格式. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
net | 該子目錄包括多個 ASCII 格式的網絡僞文件, 描述了網絡 層的部分情況. 可以用 cat 來察看這些文件, 但標準的 netstat(8) 命令組更清晰地給出了這些文件的信息.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pci | 該文件列出了內核初始化時發現的所有 PCI 設備及其配置. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
scsi | 該目錄包括 scsi 中間層僞文件及各種 SCSI 底層驅動器子目錄, 對系統中每個 SCSI host, 子目錄中都存在一個文件與之對應, 展示了部分 SCSI IO 子系統的狀態. 這些文件是 ASCII 格式 的, 可用cat閱讀.
你也可以通過寫其中某些文件來重新配置該子系統, 開關一些功能.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
self | 當某進程訪問 /proc 目錄時, 該目錄就指向 /proc 下以該進 程 ID 命名的目錄. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
stat | 內核及系統的統計數據.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sys | 該目錄在 1.3.57 的內核裏開始出現, 包含一些對應於內 核變量的文件和子目錄. 你可以讀這些變量, 有的也可以 通過proc修改, 或者用系統調用 sysctl(2) 修改. 目前該目錄下有如下三個子目錄: kernel;, ;net;, ;vm 每個各自包括一些文件和子目錄.
文件 file-max 給出系統所容許的最大可打開文件數. 如果 1024 不夠大的話, 可以
類似地, 文件 inode-nr 以及文件 inode-max 指出了當前 inode 數和最大 inode 數.
文件 ostype;, ;osrelease;, ;version 實際上是 /proc/version 的子字串.
文件 panic 可以對內核變量 panic_timeout 進行讀/寫訪問. 如果該值爲零, 內核在 panic 時進入(死)循環; 如果非零, 該值指出內核將自動重起的時間, 以秒爲單位.
文件 securelevel 目前似乎沒什麼意義 - root 無所不能.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
uptime | 該文件包含兩個數: 系統正常運行時間和總的空閒時間, 都以秒爲單位. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
version | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
指明瞭當前正在運行的內核版本, 例如:
|
又見
cat(1), find(1), free(1), mount(1), ps(1), tr(1), uptime(1), readlink(2), mmap(2), chroot(2), syslog(2), hier(7), arp(8), dmesg(8), netstat(8), route(8), ifconfig(8), procinfo(8)等等.
遵循
本手冊頁基本上是針對 Linux 1.3.11 內核, 如有必要請及時更新!
最後更新也是針對 Linux 1.3.11.
注意事項
請注意許多字符串(例如環境變量或者命令行)是以內部格式保存的, 以 NUL 作爲子域的結束標誌, 可以用 od -c 或者 tr ";\000"; ";\n"; 使之變得更可讀.
本手冊頁還不完善, 可能有不夠確切的地方, 需要經常更新.
BUGS
[中文版維護人]
mapping <mapping>
[中文版最新更新]
2000/11/26
《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
REFERENCED BY
delete_module(2), eventfd(2), fcntl(2), fork(2), getrlimit(2), getrusage(2), init_module(2), ioctl_ns(2), kcmp(2), link(2), mlock(2), mmap(2), mount(2), msgctl(2), open(2), posix_fadvise(2), prctl(2), seccomp(2), semctl(2), shmctl(2), shmget(2), signalfd(2), sysctl(2), sysinfo(2), timer_create(2), vfork(2), errno(3), fexecve(3), getauxval(3), getloadavg(3), malloc(3), mallopt(3), program_invocation_name(3), pthread_create(3), acct(5), core(5), filesystems(5), capabilities(7), cgroup_namespaces(7), cpuset(7), epoll(7), fanotify(7), hier(7), inotify(7), libc(7), mount_namespaces(7), namespaces(7), netdevice(7), pid_namespaces(7), pkeys(7), pthreads(7), pty(7), signal(7), user_namespaces(7), vdso(7), sysfs(5), netstat(8), ps(1), strace(1), bilibop.conf(5), fs(5), procinfo(8), procenv(1), scsi-spin(8), smem(8), smemcap(8), tcpspy.rules(5), tcpspy(8), vnstat(1), wmnd(1), vlimit(3), vtimes(3), network_namespaces(7), procps(1), choom(1), checkproc(8), killproc(8), mkill(8), rvmtab(8), startproc(8), blogd(8), blogger(8), showconsole(8), chroot(2), pidfd_open(2), credentials(7)