<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />全面了解Linux下Proc文件系统Proc是一个虚拟文件系统,在Linux系统中它被挂载于/proc目录之上.Proc有多个功能,这其中包括用户可以通过它访问内核信息或用于排错,这其中一个非常有用的功能,也是Linux变得更加特别的功能就是以文本流的形式来访问进程信息.很Linux命令(比如 ps、toPpstree等)都需要使用这个文件系统的信息.本文就是向用户介绍一些访问这些信息的方法.需要说明的是,本文所述的内容并不一定适用所有内核版本,有部分操作只适用于2.6内核.一、进程信息在/proc文件系统中,每一个进程都有一个相应的文件.下面是/proc目录下的一些重要文件:/proc/pid/cmdline 包含了用于开始进程的命令;/proc/pid/cwd包含了当前进程工作目录的一个链接;/proc/pid/environ 包含了可用进程环境变量的列表;/proc/pid/exe 包含了正在进程中运行的程序链接;/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;/proc/pid/mem 包含了进程在内存中的内容;/proc/pid/stat包含了进程的状态信息;/proc/pid/statm 包含了进程的内存使用信息.下面是一些获取进程信息的例子:◆假设现在要查看是否所有的进程都会做存储器清除工作.在/proc/pid/stat文件中的每一个进程标识 (第8个属性)提供了有关进程的很多“个人”信息.这个信息可以对每一个进程标识进行.0x00000002 Process being created 0x00000004 Exiting0x00000008 Dead 0x00000040 Process using superuser privflage 0x00000200P rocess dumping core 0x00000400 Prooess received some signal 0x00000800Process allocating memory 0x00001000 Killed due to out-of--memory condition 笔者从/usr/src/linux/include/linux/sched.h 中提取了这些信息.Proc是一个非常不错的获取系统信息渠道.如果利用得好,则它对Linux系统的维护和管理能提供非常大的帮助.