参考文档:
proc - 进程信息伪文件系统(process information pseudo-filesystem)
引言
描述:
proc文件系统是一个伪文件系统,它提供了一个 接口到内核数据结构。它通常安装在 / proc。通常,它是由系统自动挂载的,但是也可以使用如下命令手动挂载:
mount -t proc proc /proc
proc文件系统中的大多数文件是只读的,但也有一些文件是可写的,可以通过修改这些文件来修改内核变量。
概览:
在/proc下面,一般有这些文件组 和子目录:
/proc/[pid] subdirectories
第一章:收集系统信息
本章节核心:
-
研究/proc文件系统的属性以及/proc检测正在运行的Linux系统信息的能力
-
研究/ proc的结构
-
揭示有关内核和系统上运行的进程的各种信息
proc文件系统可以充当内核内部数据结构的接口。它可以用于获取有关系统的信息,也可以在运行时更改某些内核参数(sysctl)。
首先,我们来看一下/proc的只读部分。在第二章中,将向您展示如何使用/proc/sys来更改设置。
1.1 进程的子目录
在目录/proc中为系统上运行的每个进程包含一个子目录(以及其他内容),该子目录以进程ID (PID)命名。
链接“self”指向读取文件系统的进程。每个进程子目录下都有如表1-1所示的条目。
注意,打开的文件描述符/proc/<pid>
或其包含的任何文件或子目录并不阻止在退出的情况下,被其他进程重用。对应死进程的open /proc/文件描述符的操作从来不会对任何新进程起作用,因为内核可能偶然也分配了进程ID 。相反,使用ESRCH,这些FDs上的操作通常会失败。
表1-1:/proc中与进程相关的条目
文件 | 内容 |
---|---|
clear_refs | 清除smaps输出中显示的页面引用位 |
cmdline |