NAME
proc - 進 程 信 息 僞 文 件 系 統
描 述
/proc 是
一 個 僞 文 件 系
統 , 被 用 作 內 核
數 據 結 構 的 接
口 , 而 不 僅 僅 是
解 釋 說 明 /dev/kmem. /proc裏
的 大 多 數 文 件
都 是 隻 讀 的 , 但
也 可 以 通 過 寫
一 些 文 件 來 改
變 內 核 變 量 . 下
面 對 整 個 /proc 目 錄
作 一 個 大 略 的
介 紹 .
[number] 在 /proc 目 錄 裏 ,
每 個 正 在 運 行
的 進 程 都 有 一
個 以 該 進 程 ID 命
名 的 子 目 錄 , 其
下 包 括 如 下 的
目 錄 和 僞 文 件 .
cmdline 該 文 件 保 存 了 進 程 的 完 整 命 令 行 . 如 果 該 進 程 已 經 被 交 換 出 內 存 , 或 者 該 進 程 已 經 僵 死 , 那 麼 就 沒 有 任 何 東 西 在 該 文 件 裏 , 這 時 候 對 該 文 件 的 讀 操 作 將 返 回 零 個 字 符 . 該 文 件 以 空 字 符 null 而 不 是 換 行 符 作 爲 結 束 標 誌 .
cwd 一 個 符 號 連 接 , 指 向 進 程 當 前 的 工 作 目 錄 |
. 例 如 , 要 找 出 進 程 20 |
的 cwd, 你 可
以 :
cd /proc/20/cwd; /bin/pwd 請 注 意pwd
命 令 通 常 是 shell 內
置 的 , 在 這 樣 的
情 況 下 可 能 工
作 得 不 是 很 好 .
environ 該 文 件 保 存 進 程 的 環 境 變 量 , 各 項 之 間 以 空 字 符 分 隔 , 結 尾 也 可 能 是 一 個 空 字 符 . 因 此 , 如 果 要 輸 出 進 程 1 的 環 境 變 量 , 你 應 該 :
(cat /proc/1/environ; echo) | tr ";\000"; ";\n";
(至 於 爲 什 麼 想 要 這 麼 做 , 請 參 閱 lilo(8).)
exe 也 是 一 個 符 號 連 接 , 指 向 被 執 行 的 二 進 制 代 碼 |
. |
在 Linux 2.0 或 者 更 早 的 版 本 下 , 對 exe 特 殊 文 件 的 readlink(2) 返 回 一 個 如 下 格 式 的 字 符 串 :
[設 備 號 ]:節 點 號 舉 個 例 子 , [0301]:1502 就 是 某 設 備 的 1502 節 點 , 該 設 備 的 主 設 備 號 爲 03 (如 IDE, MFM 等 驅 動 器 ), 從 設 備 號 爲 01 (第 一 個 驅 動 器 的 第 一 分 區 ). 而 在 Linux 2.2 下 , readlink(2) 則 給 出 命 令 的 實 際 路 徑 名 . 另 外 , 該 符 號 連 接 也 可 以 正 常 析 引 用 (試 圖 打 開 exe 文 件 實 際 上 將 打 開 一 個 可 執 行 文 件 ). 你 甚 至 可 以 鍵 入 /proc/[number]/exe 來 運 行 [number] 進 程 的 副 本 . 帶 -inum 選 項 的 find(1) 命 令 可 以 定 位 該 文 件 .
fd 進 程 所 打 開 的 每 個 文 件 都 有 一 個 符 號 連 接 在 該 子 目 錄 裏 , 以 文 件 描 述 符 命 名 , 這 個 名 字 實 際 上 是 指 向 真 正 的 文 件 的 符 號 連 接 , ( 和 |
exe 記 錄 一 樣 ) . 例 如 , 0 是 標 準 輸 入 , 1 是 標 準 輸 出 , 2 是 標 準 錯 誤 , 等 等 . 程 序 有 時 可 能 想 要 讀 取 一 個 文 件 卻 不 想 要 標 準 輸 入 , 或 者 想 寫 到 一 個 文 件 卻 不 想 將 輸 出 送 到 標 準 輸 出 去 , 那 麼 就 可 以 很 有 效 地 用 如 下 的 辦 法 騙 過 (假 定 -i 是 輸 入 文 件 的 標 誌 , 而 -o 是 輸 出 文 件 的 標 誌 ):
foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ... 這 樣 就 是 一 個 能 運 轉 的 過 濾 器 . 請 注 意 該 方 法 不 能 用 來 在 文 件 裏 搜 索 , 這 是 因 爲 fd 目 錄 裏 的 文 件 是 不 可 搜 索 的 . 在 UNIX 類 的 系 統 下 , /proc/self/fd/N 基 本 上 就 與 /dev/fd/N 相 同 . 實 際 上 , 大 多 數 的 Linux MAKEDEV 腳 本 都 將 /dev/fd 符 號 連 接 到 [..]/proc/self/fd 上 .
maps 該 文 件 包 含 當 前 的 映 象 內 存 區 及 他 們 的 訪 問 許 可 |
. |
格 式 如 下 :
address perms offset dev inode 00000000-0002f000 r-x-- 00000400 03:03 1401 0002f000-00032000 rwx-p 0002f400 03:03 1401 00032000-0005b000 rwx-p 00000000 00:00 0 60000000-60098000 rwx-p 00000400 03:03 215 60098000-600c7000 rwx-p 00000000 00:00 0 bfffa000-c0000000 rwx-p 00000000 00:00 0
address 是 進 程 所 佔 據 的 地 址 空 間 , perms 是 權 限 集 :
r = read
w = write
x = execute
s = shared
p = private (copy on write)
offset 是 文 件 或 者 別 的 什 麼 的 偏 移 量 , dev 是 設 備 號 (主 設 備 號 :從 設 備 號 ), 而 inode 則 是 設 備 的 節 點 號 . 0 表 明 沒 有 節 點 與 內 存 相 對 應 , 就 象 bss 的 情 形 . 在 Linux 2.2 下 還 增 加 了 一 個 域 給 可 用 的 路 徑 名 .
mem 該 文 件 並 不 是 |
mem (1:1) 設 備 , 儘 管 它 們 有 相 同 的 設 備 號 . |
/dev/mem 設 備 是 做 任 何 地 址 轉 換 之 前 的 物 理 內 存 , 而 這 裏 的 mem 文 件 是 訪 問 它 的 進 程 的 內 存 .目 前 這 個 mem 還 不 能 mmap(2) ( 內 存 映 射 ) 出 去 , 而 且 可 能 一 直 要 等 到 內 核 中 增 加 了 一 個 通 用 的 mmap(2) 以 後 才 能 實 現 . (也 許 在 你 讀 本 手 冊 頁 時 這 一 切 已 經 發 生 了 )
mmap |
mmap(2) 做 的 maps 映 射 目 錄 , 是 和 exe, fd/* 等 類 似 的 符 號 連 接 . 請 注 意 maps 包 含 了 比 /proc/*/mmap 更 多 的 信 息 , 所 以 應 該 廢 棄 mmap. |
";0"; 通 常 指 libc.so.4. 在 linux 內 核 1.1.40 裏 , /proc/*/mmap 被 取 消 了 . (現 在 是 真 的 廢 棄 不 用 了 !)
root 依 靠 系 統 調 用 |
chroot(2), unix 和 linux 可 以 讓 每 個 進 程 有 各 |
自 的 文 件 系 統 根 目 錄 . 由 chroot(2) 系 統 調 用 設 置 . 根 指 向 文 件 系 統 的 根 , 性 質 就 象 exe, fd/* 等 一 樣 .
stat 進 程 狀 態 信 息 , 被 命 令 |
ps(1) 使 用 . |
現 將 該 文 件 裏 各 域 , 以 及 他 們 的 scanf(3) 格 式 說 明 符 , 按 順 序 分 述 如 下 :
pid %d 進 程 標 識 |
. |
comm %s 可
執 行 文 件 的 文
件 名 , 包 括 路 徑 .
該 文 件 是 否 可
見 取 決 於 該 文
件 是 否 已 被 交
換 出 內 存 .
state %c
";RSDZT"; 中 的 一 個 , R 是 正 在 運 行 , S 是 在 可 中 斷 的 就 緒 態 中 睡 眠 , D 是 在 不 可 中 斷 的 等 待 或 交 換 態 中 睡 眠 , Z 是 僵 死 , T 是 被 跟 蹤 或 被 停 止 (由 於 收 到 信 號 ).
ppid %d 父
進 程 PID.
pgrp %d 進 程 的 進 程
組 ID.
session %d 進 程 的 會 話
ID.
tty %d 進 程 所 使 用 終 端 |
. |
tpgid %d 當
前 擁 有 該 進 程
所 連 接 終 端 的
進 程 所 在 的 進
程 組 ID.
flags %u 進 程 標 誌 . 目
前 每 個 標 誌 都
設 了 數 學 位 , 所
以 輸 出 裏 就 不
包 括 該 位 . crt0.s 檢
查 數 學 仿 真 這
可 能 是 一 個 臭
蟲 , 因 爲 不 是 每
個 進 程 都 是 用 c
編 譯 的 程 序 . 數
學 位 應 該 是 十
進 制 的 4, 而 跟 蹤
位 應 該 是 十 進
制 的 10.
minflt %u 進 程 所 導 致
的 小 錯 誤 ( minor
faults) 數 目 , 這 樣
的 小 錯 誤 ( minor
faults) 不 需 要 從 磁
盤 重 新 載 入 一
個 內 存 頁 .
cminflt %u 進 程 及 其 子
進 程 所 導 致 的
小 錯 誤 ( minor faults)
數 目 .
majflt %u 進 程 所 導 致
的 大 錯 誤 ( major
faults) 數 目 , 這 樣
的 大 錯 誤 ( major
faults) 需 要 重 新 載
入 內 存 頁 .
cmajflt %u 進 程 及 其 子
進 程 所 導 致 的
大 錯 誤 ( major faults)
數 目 .
utime %d 進 程 被 調 度
進 用 戶 態 的 時
間 (以 jiffy 爲 單 位 , 1
jiffy=1/100 秒 , 另 外 不
同 硬 件 體 系 略
有 不 同 ).
stime %d 進 程 被 調 度
進 內 核 態 的 時
間 , 以 jiffy 爲 單 位 .
cutime %d 進 程 及 其 子
進 程 被 調 度 進
用 戶 態 的 時 間 ,
以 jiffy 爲 單 位 .
cstime %d 進 程 及 其 子
進 程 被 調 度 進
內 核 態 的 時 間 ,
以 jiffy 爲 單 位 .
counter %d 如 果 進 程 不
是 當 前 正 在 運
行 的 進 程 , 就 是
進 程 在 下 個 時
間 片 當 前 可 以
擁 有 的 最 大 時
間 , 以 jiffy 爲 單 位 .
如 果 進 程 是 當
前 正 在 運 行 的
進 程 , 就 是 當 前
時 間 片 中 所 剩
下 jiffy 數 目 .
priority %d 標 準 優 先 數
只 再 加 上 15, 在 內
核 裏 該 值 總 是
正 的 .
timeout %u 當 前 至 進 程
的 下 一 次 間 歇
時 間 , 以 jiffy 爲 單
位 .
itrealvalue %u 由 於 計 時
間 隔 導 致 的 下
一 個 SIGALRM 發 送 進
程 的 時 延 , 以 jiffy
爲 單 位 .
starttime %d 進 程 自 系
統 啓 動 以 來 的
開 始 時 間 , 以 jiffy
爲 單 位 .
vsize %u 虛 擬 內 存 大
小 .
rss %u |
Resident Set Size( 駐 留 大 小 ) : 進 程 所 佔 用 的 真 實 內 存 大 小 , 以 頁 爲 單 位 , 爲 便 於 管 理 而 減 去 了 3. rss 只 包 括 正 文 , 數 據 以 及 堆 棧 的 空 間 , 但 不 包 括 尚 未 要 求 裝 入 內 存 的 或 已 被 交 換 出 去 的 . |
rlim %u 當
前 進 程 的 rss 限 制 ,
以 字 節 爲 單 位 ,
通 常 爲 2,147,483,647.
startcode %u 正 文 部 分
地 址 下 限 .
endcode %u 正 文 部 分 地
址 上 限 .
startstack %u 堆 棧 開 始
地 址 .
kstkesp %u
esp(32 位 堆 棧 指 針 ) 的 當 前 值 , 與 在 進 程 的 內 核 堆 棧 頁 得 到 的 一 致 .
kstkeip %u
EIP(32 位 指 令 指 針 )的 當 前 值 .
signal %d 待
處 理 信 號 的 bitmap(通
常 爲 0).
blocked %d 被 阻 塞 信 號
的 bitmap(對 shell 通 常 是 0,
2).
sigignore %d 被 忽 略 信
號 的 bitmap.
sigcatch %d 被 俘 獲 信 號
的 bitmap.
wchan %u 進 程 在 其 中
等 待 的 通 道 , 實
際 是 一 個 系 統
調 用 的 地 址 . 如
果 你 需 要 文 本
格 式 的 , 也 可 以
在 名 字 列 表 中
找 到 . (如 果 有 最
新 版 本 的 /etc/psdatabase,
你 可 以 在 ps -l 的
結 果 中 的 WCHAN 域 看
到 )
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) 命 令 組 更 清 晰 地 給 出 了 這 些 文 件 的 信 息 .
arp 該 文 件 以 |
ASCII 格 式 保 存 了 內 核 ARP 表 , 用 於 地 址 解 析 , 包 括 |
靜 態 和 動 態 arp 數 據 . 文 件 格 式 如 下 :
IP address HW type Flags HW address 10.11.100.129 0x1 0x6 00:20:8A:00:0C:5A 10.11.100.5 0x1 0x2 00:C0:EA:00:00:4E 44.131.10.6 0x3 0x2 GW4PTS其 中
’IP address’ 是 機 器 的 IPv4 地 址 ; ’HW type’ 是 地 址 的 硬 件 類 型 , 遵 循 RFC 826; flags 是 ARP 結 構 的 內 部 標 誌 , 在 /usr/include/linux/if_arp.h 中 定 義 ; ’HW address’ 是 該 IP 地 址 的 物 理 層 映 射 (如 果 知 道 的 話 ).
dev 該 僞 文 件 包 含 網 絡 設 備 狀 態 信 息 , 給 出 了 發 送 和 收 到 的 包 的 數 目 , 錯 誤 和 衝 突 的 數 目 , 以 及 別 的 一 些 基 本 統 計 數 據 |
. ifconfig(8) 利 用 了 該 文 件 來 報 告 網 絡 設 備 狀 態 . 文 件 格 式 如 下 :
Inter-| Receive | Transmit face |packets errs drop fifo frame|packets errs drop fifo colls carrier lo: 0 0 0 0 0 2353 0 0 0 0 0 eth0: 644324 1 0 0 1 563770 0 0 0 581 0
ipx 無 信 息 |
. |
ipx_route 無 信 息 .
rarp 該 文 件 具 有 和 |
arp 同 樣 的 格 式 , 包 含 當 前 的 逆 向 地 址 映 射 數 據 . |
rarp(8) 利 用 這 些 數 據 來 作 逆 向 地 址 查 詢 服 務 . 只 有 將 RARP 配 置 進 內 核 , 該 文 件 才 存 在 .
raw 該 文 件 保 存 了 |
RAW 套 接 字 表 , 大 部 分 信 息 除 用 於 調 試 以 外 沒 有 什 |
麼 用 . ’sl’ 指 出 了 套 接 字 的 內 核 散 列 槽 號 ; ’local address’ 包 括 本 地 地 址 和 協 議 號 對 ; "St" 是 套 接 字 的 內 部 狀 態 ; tx_queue 和 rx_queue 是 內 核 存 儲 器 使 用 意 義 上 的 輸 入 輸 出 數 據 隊 列 ; RAW 沒 有 使 用 "tr", "tm->when" 和 "rexmits"; uid 是 套 接 字 創 建 者 的 有 效 uid.
route 沒 有 信 息 , 但 是 看 上 去 類 似 於 |
||||
snmp 該 文 件 以 |
ASCII 格 式 保 存 了 IP, ICMP, TCP 以 及 UDP 管 理 所 需 的 數 據 信 息 , 基 於 snmp 協 議 . TCP mib (TCP 管 理 數 據 庫 )尚 未 完 善 , 可 能 在 1.2.0 內 核 能 夠 完 成 .
tcp 該 文 件 保 存 了 |
TCP 套 接 字 表 , 大 部 分 信 息 除 用 於 調 試 以 外 沒 有 什 |
麼 用 . "sl" 指 出 了 套 接 字 的 內 核 散 列 槽 號 ; "local address" 包 括 本 地 地 址 和 端 口 號 ; "remote address" 包 括 遠 地 地 址 和 端 口 號 (如 果 有 連 接 的 話 ); ’St’ 是 套 接 字 的 內 部 狀 態 ; ’tx_queue’ 和 ’rx_queue’ 是 內 核 存 儲 器 使 用 意 義 上 的 輸 入 輸 出 數 據 隊 列 ; "tr", "tm->when" 和 "rexmits" 保 存 了 內 核 套 接 字 聲 明 的 內 部 信 息 , 只 用 於 調 試 ; uid 是 套 接 字 創 建 者 的 有 效 uid.
udp 該 文 件 保 存 了 |
UDP 套 接 字 表 , 大 部 分 信 息 除 用 於 調 試 以 外 沒 有 什 |
麼 用 . "sl" 指 出 了 套 接 字 的 內 核 散 列 槽 號 ; "local address" 包 括 本 地 地 址 和 端 口 號 ; "remote address" 包 括 遠 地 地 址 和 端 口 號 (如 果 有 連 接 的 話 ); "St" 是 套 接 字 的 內 部 狀 態 ; "tx_queue" 和 "rx_queue" 是 內 核 存 儲 器 使 用 意 義 上 的 輸 入 輸 出 數 據 隊 列 ; UDP 沒 有 使 用 "tr","tm->when" 和 "rexmits"; uid 是 套 接 字 創 建 者 的 有 效 uid. 格 式 如 下 :
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
unix 列 出 了 當 前 系 統 的 |
UNIX域 套 接 字 以 及 它 們 的 狀 態 , 格 式 如 下 : |
Num RefCount Protocol Flags Type St Path 0: 00000002 00000000 00000000 0001 03 1: 00000001 00000000 00010000 0001 01 /dev/printer
’Num’ 是 內 核 散 列 槽 號 ; ’RefCount’ 是 用 戶 套 接 字 號 ; ’Protocol’ 當 前 總 是 0; ’Flags’ 是 內 核 標 誌 , 指 出 了 套 接 字 的 狀 態 ; ’Type’ 當 前 總 是 1(在 內 核 中 尚 未 支 持 unix 域 數 據 報 套 接 字 ); ’St’ 是 套 接 字 內 部 狀 態 ; ’Path’ 套 接 字 綁 捆 的 路 徑 (如 果 有 的 話 ).
pci 該 文 件 列 出 了 內 核 初 始 化 時 發 現 的 所 有 |
PCI 設 備 及 其 配 置 . | ||
scsi 該 目 錄 包 括 |
scsi 中 間 層 僞 文 件 及 各 種 SCSI 底 層 驅 動 器 子 目 錄 , 對 系 統 中 每 個 SCSI host, 子 目 錄 中 都 存 在 一 個 文 件 與 之 對 應 , 展 示 了 部 分 SCSI IO 子 系 統 的 狀 態 . 這 些 文 件 是 ASCII 格 式 的 , 可 用 cat閱 讀 . 你 也 可 以 通 過 寫 其 中 某 些 文 件 來 重 新 配 置 該 子 系 統 , 開 關 一 些 功 能 .
scsi 該 文 件 列 出 了 內 核 掌 握 的 所 有 |
SCSI 設 備 , 其 內 容 就 和 系 統 啓 動 |
時 所 看 到 的 類 似 . 目 前 scsi 只 支 持 singledevice命 令 , 該 命 令 允 許 root 添 加 一 個 熱 插 拔 (hotplugged)設 備 到 一 個 已 知 設 備 列 表 中 . 命 令 echo ’scsi singledevice 1 0 5 0’ > /proc/scsi/scsi 令 host scsi1 掃 描 SCSI 通 道 0, 看 在 ID 5 LUN 0 是 否 存 在 設 備 , 如 果 在 該 地 址 存 在 設 備 , 或 者 該 地 址 無 效 , 則 返 回 一 個 錯 誤 .
drivername 目 前 drivername 可 包 含 : NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore 或 者 wd7000. 這 些 目 錄 展 示 那 些 至 少 註 冊 了 一 個 SCSI HBA 的 驅 動 . 而 對 每 個 已 註 冊 的 host, 每 個 目 錄 中 都 包 含 一 個 文 件 與 之 對 應 , 而 這 些 對 應 的 host 文 件 就 以 初 始 化 時 分 配 給 host 的 數 字 來 命 名 . 這 些 文 件 給 出 了 驅 動 程 序 以 及 設 備 的 配 置 , 統 計 數 據 等 . 可 以 通 過 寫 這 些 文 件 實 現 不 同 的 host 上 做 不 同 的 工 作 . 例 如 , root 可 以 用 latency 和 nolatency 命 令 打 開 或 者 關 閉 eata_dma 驅 動 器 上 測 量 延 時 的 代 碼 , 也 可 以 用 lockup 和 unlock 命 令 控 制 scsi_debug 驅 動 器 所 模 擬 的 總 線 鎖 操 作 .
self 當 某 進 程 訪 問 |
/proc 目 錄 時 , 該 目 錄 就 指 向 /proc 下 以 該 進 程 ID 命 |
名 的 目 錄 .
stat 內 核 及 系 統 的 統 計 數 據 |
. |
cpu 3357 0 4313 1362393
系 統 分 別 消 耗
在 用 戶 模 式 , 低
優 先 權 的 用 戶
模 式 ( nice) , 系 統
模 式 , 以 及 空 閒
任 務 的 時 間 , 以
jiffy 爲 單 位 . 最 後
一 個 數 值 應 該
是 uptime 僞 文 件 第 二
個 數 值 的 100 倍 .
disk 0 0 0 0 目 前 並 沒
有 實 現 這 四 個
磁 盤 記 錄 , 我 甚
至 認 爲 就 不 應
該 實 現 它 , 這
是 由 於 在 別 的
機 器 上 內 核 統
計 通 常 依 賴 轉
換 率 及 每 秒 I/O 數 ,
而 這 令 每 個 驅
動 器 只 能 有 一
個 域 .
page 5741 1808 系 統 ( 從
磁 盤 ) 交 換 進
的 頁 數 和 交 換
出 去 的 頁 數 .
swap 1 0 取 入 的 交 換
頁 及 被 取 出 的
交 換 頁 的 頁 數 .
intr 1462898 系 統 自 啓
動 以 來 所 收 到
的 中 斷 數 .
ctxt 115315 系 統 所 作 的
進 程 環 境 切 換
次 數 .
btime 769041601 系 統 自 1970 年
1 月 1 號 以 來 總 的
運 行 時 間 , 以 秒
爲 單 位 .
sys 該 目 錄 在 |
1.3.57 的 內 核 裏 開 始 出 現 , 包 含 一 些 對 應 於 內 核 變 量 的 文 件 |
和 子 目 錄 . 你 可 以 讀 這 些 變 量 , 有 的 也 可 以 通 過 proc修 改 , 或 者 用 系 統 調 用 sysctl(2) 修 改 . 目 前 該 目 錄 下 有 如 下 三 個 子 目 錄 : kernel;, ;net;, ;vm 每 個 各 自 包 括 一 些 文 件 和 子 目 錄 .
kernel 該 目 錄 包 括 如 下 文 件 : |
domainname;, ;file-max;, ;file-nr;, |
;hostname;, ; inode-max;, ;inode-nr;, ;osrelease;, ;ostype;, ; panic;, ;real-root-dev;, ;securelevel;, ;version, 由 文 件 名 就 可 以 清 楚 地 得 知 各 文 件 功 能 . 只 讀 文 件 file-nr 給 出 當 前 打 開 的 文 件 數 . 文 件 file-max 給 出 系 統 所 容 許 的 最 大 可 打 開 文 件 數 . 如 果 1024 不 夠 大 的 話 , 可 以
echo 4096 > /proc/sys/kernel/file-max 類 似 地 , 文 件 inode-nr 以 及 文 件 inode-max 指 出 了 當 前 inode 數 和 最 大 inode 數 . 文 件 ostype;, ;osrelease;, ;version 實 際 上 是 /proc/version 的 子 字 串 . 文 件 panic 可 以 對 內 核 變 量 panic_timeout 進 行 讀 /寫 訪 問 . 如 果 該 值 爲 零 , 內 核 在 panic 時 進 入 ( 死 ) 循 環 ; 如 果 非 零 , 該 值 指 出 內 核 將 自 動 重 起 的 時 間 , 以 秒 爲 單 位 . 文 件 securelevel 目 前 似 乎 沒 什 麼 意 義 - root 無 所 不 能 .
uptime 該 文 件 包 含 兩 個 數 : 系 統 正 常 運 行 時 間 和 總 的 空 閒 時 間 , 都 以 秒 爲 單 位 . |
version 指 明 瞭 當 前 正 在 運 行 的 內 核 版 本 , 例 如 :
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
又 見
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
/proc 可 能 會 給 那 些 使 用 了 chroot(2) 的 進 程 帶 來 安 全 問 題 . 例 如 , 如 果 /proc 被 mount 在 chroot 級 別 裏 , 一 個 到 /proc/1/root 的 chdir(2) 操 作 將 返 回 文 件 系 統 的 原 始 根 目 錄 . 由 於 Linux 還 不 支 持 fchroot(2) 調 用 , 該 問 題 可 能 更 應 該 看 作 一 個 特 性 而 不 是 一 個 bug.
[中 文 版 維 護 人 ]
mapping <mapping [AT] 263.net>
[中 文 版 最 新 更 新 ]
2000/11/26
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh