/proc虚拟文件系统

2021-04-27  本文已影响0人  quanCN

procfs

在许多类Unix计算机系统中,procfs是进程文件系统(file system)的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到/proc目录。

简介

由于/proc是一个虚拟文件系统,有时称为过程信息伪文件系统(process information pseudo-file system),不占用存储空间,只是占用有限的内存,包含运行时系统信息(例如,系统内存,已安装的设备,硬件配置等)

因此,它可以被视为内核的控制和信息中心。实际上,很多系统实用程序只是对该目录中文件的调用。例如:

通过更改位于此目录中的文件,甚至可以在系统运行时读取/更改内核参数(sysctl命令)

目录说明

关于此目录中文件的最独特之处在于,除了kcore,mtrr和self外,所有文件的大小均为0。目录列表类似于以下内容:

├─1                    数字表示进程号
│  ├─cmdline           启动该进程的命令行
│  ├─cwd               当前工作目录的符号链接
│  ├─environ           影响进程的环境变量的名字和值
│  ├─exe               最初的可执行文件的符号链接(还存在)
│  ├─fd                目录,包含每个打开的文件描述符的符号链接   
│  ├─fdinfo            目录,包含每个打开的文件描述符的位置和标记
│  ├─maps              一个文本文件包含内存映射文件与块的信息   
│  ├─mem               一个二进制图像(image)表示进程的虚拟内存, 只能通过ptrace化进程访问
│  ├─root              该进程所能看到的根路径的符号链接
│  ├─status            包含了进程的基本信息,包括运行状态、内存使用
│  ├─task              一个目录包含了硬链接到该进程启动的任何任务
├─10
├─108
├─2232
└─ ...            更多进程目录
│ 
├─acpi或apm        电源管理系统
├─buddyinfo        处理内存碎片的伙伴算法的信息
├─bus              计算机上各种总线的目录
├─fb               可用帧缓冲区的列表
├─cmdline          传递给内核的启动选项
├─cpuinfo          CPU信息
├─crypto           可利用的加密模块列表
├─devices          字符设备与块设备列表,按照设备ID排序
├─diskstats        每一块逻辑磁盘设备信息
├─filesystems      当前时刻内核支持的文件系统的列表
│ 
├─interrupts       以下四个提供有关使用各种系统资源的设备(物理或逻辑)的一些详细信息如中断内存访问等
├─iomem
├─ioports
├─irq
│ 
├─kmsg        保存内核输出的消息
├─meminfo     内核管理内存的一些汇总信息
├─modules     当前加载的内核模块列表(重要)
├─mounts      当前安装设备及安装点的符号链接
├─net         当前网络栈的信息
├─partitions  设备号列表
├─scsi        通过SCSI或RAID控制器挂接的设备的信息
├─self        当前进程的符号链接
├─slabinfo    内核频繁使用的对象的统计信息
├─swaps       活动交换分区的信息(尺寸,优先级等)
├─sys         动态可配置的内核选项
├─sysvipc     共享内存与进程间通信 (IPC)信息
├─tty         当前终端信息
├─uptime      内核启动后经过的秒数与idle模式的秒数
├─version     相关版本号
└─ ...
上一篇下一篇

猜你喜欢

热点阅读