proc(5) - Linux man page

xingyun86 2017-10-3 2395

proc(5) - Linux man page(中文翻译)

名字

proc - process information pseudo-filesystem,进程信息伪文件系统

描述

proc是个作为内核数据结构接口的伪文件系统,他被挂载在/proc目录下。该目录下大多数文件是只读的,但某些文件也允许内核变量被修改。

/proc/[number]

/proc目录下用数字表示的子目录对应着系统中正在运行的一些进程,子目录名即为进程的PID。每个进程子目录都包含下面这些孙子目录及文件。

/proc/[number]/comline

该文件包含对应进程的完整命令行指令。在进程被转移出或成为僵尸进程的情况下,该文件内没有内容。

/proc/[number]/cwd

该文件包含对应进程的当前工作目录完整路径。在多线程且主线程已经结束的情况下,该文件成为不可用的。

/proc/[number]/environ

该文件包含对应进程的环境。

/proc/[number]/exe

Linux 2.2及其后的版本中,该文件是个指向对应进程所执行命令的真正路径的符号指针。执行该文件就相当于再执行次该进程。

Linux 2.0及其前的版本中,该文件是个指向对应进程所执行的二进制代码的指针。

/proc/[number]/fd

这个是子目录,其中为对应进程所打开的所有文件都留有进入点。该进入点是根据所打开文件的文件描述符命名的。而该文件描述符又是指向真实文件的符号链接。0代表标准输入,1代表标准输出,2代表标准错误,等等。

/proc/[number]/maps

该文件包含对应进程的当前被映射的内存区域及其进入权限。

其格式如下:

address            perms  offset   dev    inode       pathname

08048000-08056000  r-xp  00000000  03:0c  64593      /usr/sbin/gpm

08056000-08058000  rw-p  0000d000  03:0c  64593      /usr/sbin/gpm

08058000-0805b000  rwxp  00000000  00:00  0

40000000-40013000  r-xp  00000000  03:0c  4165       /lib/ld-2.2.4.so

40013000-40015000  rw-p  00012000  03:0c  4165       /lib/ld-2.2.4.so

4001f000-40135000  r-xp  00000000  03:0c  45494     /lib/libc-2.2.4.so

40135000-4013e000  rw-p  00115000  03:0c  45494     /lib/libc-2.2.4.so

4013e000-40142000  rw-p  00000000  00:00  0

bffff000-c0000000  rwxp  00000000  00:00  0

address代表进程中占用的地址空间,perms是权限的集合:

r = read w = write x = execute

s = shared p = private (copy on write)

offset是文件偏移,dev是设备(主设备号:次设备号),inode是设备上的inode0表示无inode与该内存空间相关联。

/proc/[number]/mem

该文件用以访问进程内存的页面,利用这三个函数open()read()fseek()

/proc/[number]/root

该文件是指向进程根目录的符号链接。

/proc/[number]/smapsLinux 2.6.14

该文件包含对应进程映射的内存消耗信息。该文件只有在CONFIG_MMU内核选项可用的情况下才会出现。

/proc/[number]/stat

该文件包含对应进程的状态信息。主要被ps命令所利用。(略)

/proc/[number]/statm

该文件包含对应进程的页面内存状态信息。

/proc/[number]/status

该文件是/proc/[number]/stat/proc/[number]statm两文件的集合,更易阅读。

/proc/[number]/task

该目录下为对应进程的每个线程都生成了相应的子目录。子目录名为对应线程的线程ID。(略)

/proc/apm

该文件包含系统(Adcanced power management)高级电源管理版本信息及电源信息。只有当CONFIG_APM在内核编译时期被定义才会出现。

/proc/bus

该目录包含所有系统中被安装的总线。

/proc/bus/pccard

该子目录为pcmcia设备目录,当CONFIG_PCMCIA在内核编译时期被定义才会出现。

/proc/bus/pccard/drivers

/proc/bus/pci

该子目录为pci总线子目录,该目录下包含许多与pci总线,装载的设备及设备驱动相关的总线子目录及伪文件。

/proc/bus/pci/devices

该文件包含有关pci设备的信息。

/proc/cmdline

该文件包含在引导期传递给Linux内核的参数。

/proc/cpuinfo

该文件包含CPU相关信息及系统体系相关项目。

/proc/devices

该文件包含系统设备分类下的各自主设备号列表。

/proc/diskstatsLinux 2.5.69

该文件包含每块磁盘设备的磁盘IO统计数据。

/proc/dma

该文件包含在使用的已注册的DMA通道列表。

/proc/driver

空子目录。

/proc/execdomains

该文件包含内核执行域列表。

/proc/fb

该文件包含帧缓冲区信息。只有当CONFIG_FB在内核编译时期被定义才会出现。

/proc/filesystems

该文件包含内核支持的文件系统列表。

/proc/fs

空子目录。

/proc/ide

该目录只有当系统拥有ide总线时才会存在。目录下为每个ide通道及插入的设备设有子目录。

/proc/interrupts

该文件用于记录i386构架上的每个IRQ的中断数。

/proc/iomem

Linux 2.4中的IO内存映射。

/proc/ioports

该文件包含当前已注册并在使用的输入输出端口区域。

/proc/kallsymsLinux 2.5.71

这是内核输出的符号定义,被模块用于动态链接和绑定可装载模块。在先前的版本中,名为ksyms

/proc/kcore

该文件包含系统物理内存的信息。

/proc/kmsg

该文件包含内核信息,可以用syslog系统调用来更清晰地读取。

/proc/loadavg

该文件较重要,请自行参看原文档。(略)

/proc/locks

该文件包含当前文件锁的信息。

/proc/malloc

该文件只在CONFIGDEBUGMALLOC在编译器被定义时才出现。

/proc/meminfo

该文件的内容与free命令显示的内容基本吻合,就是包含存储器的基本信息。

/proc/mounts

该文件包含挂载在系统内的所有文件系统列表。

/proc/modules

该文件包含已被系统装载的模块列表。

/proc/mtrr

Memory Type Range Registers

/proc/net

该目录下包含许多网络相关的伪文件,每个文件都包含网络层的相关状态或信息。该目录下的信息可以使用netstat命令更清晰地获得。(略)

/proc/partitions

该文件包含每个分区的主次设备号,同时也包含分区块数及分区名。

/proc/pci

该文件包含内核初始化时找到的PCI设备列表。

/proc/scsi

该目录下包含scsi中级伪文件及scsi低级驱动目录。(略)

/proc/self

该目录与进入/proc文件系统的进程相关。

/proc/slabinfo

该文件包含内核缓存信息。

/proc/stat

该文件包含内核系统统计数据。(略)

/proc/swaps

使用中的交换区。

/proc/sys

该目录下包含一些列与内核变量一致的文件及子目录。(略)

/proc/sysvipc

该目录下包含三个伪文件:msgsemshm

/proc/tty

该目录下包含tty驱动的伪文件及子目录。

/proc/uptime

该文件包含计算机正常运行时间数据及计算机用于理想进程的时间。

/proc/version

该文件包含内核版本信息。

/proc/vmstat

该文件包含虚拟内存统计数据。

/proc/zoneinfo

该文件包含内存区域的相关信息。

参见

cat(1), find(1), free(1), mount(1), ps(1), 


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回