Man page - proc(5)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr pl ja ru ro zh_TW zh_CN deManual
PROC
NAME描 述
又 見
遵 循
注 意 事 項
BUGS
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
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 |
沒 有 資 訊 , 但 是 看 上 去 類 似 於 route(8) |
||
|
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@263.net>
[中 文 版 最 新 更 新 ]
2000/11/26
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
http://cmpp.linuxforum.net
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh