日期:2014-05-16  浏览次数:20601 次

深入理解linux系统下proc文件系统内容

另外,可以参考这个http://www.centos.org/docs/5/html/5.1/Deployment_Guide/ch-proc.html
  • 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统。
Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。?

基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并具有一些独特的特点。例如,其中有些文件虽然使用查看命令查看时会返回大量信息,但文件本身的大小却会显示为0字节。此外,这些特殊文件中大多数文件的时间及日期属性通常为当前系统时间和日期,这跟它们随时会被刷新(存储于RAM中)有关。?

为了查看及使用上的方便,这些文件通常会按照相关性进行分类存储于不同的目录甚至子目录中,如/proc/scsi目录中存储的就是当前系统上所有SCSI设备的相关信息,/proc/N中存储的则是系统当前正在运行的进程的相关信息,其中N为正在运行的进程(可以想象得到,在某进程结束后其相关目录则会消失)。?

大多数虚拟文件可以使用文件查看命令如cat、more或者less进行查看,有些文件信息表述的内容可以一目了然,但也有文件的信息却不怎么具有可读性。不过,这些可读性较差的文件在使用一些命令如apm、free、lspci或top查看时却可以有着不错的表现。?


一、??????? 进程目录中的常见文件介绍?

/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件。?

[root@rhel5 ~]# ll /proc?
total 0?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 1?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 10?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 11?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 1156?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 139?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 140?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:08 141?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:09 1417?
dr-xr-xr-x? 5 root????? root????????????? 0 Feb? 8 17:09 1418?


上面列出的是/proc目录中一些进程相关的目录,每个目录中是当程本身相关信息的文件。下面是作者系统(RHEL5.3)上运行的一个PID为2674的进程saslauthd的相关文件,其中有些文件是每个进程都会具有的,后文会对这些常见文件做出说明。?

[root@rhel5 ~]# ll /proc/2674?
total 0?
dr-xr-xr-x 2 root root 0 Feb? 8 17:15 attr?
-r-------- 1 root root 0 Feb? 8 17:14 auxv?
-r--r--r-- 1 root root 0 Feb? 8 17:09 cmdline?
-rw-r--r-- 1 root root 0 Feb? 8 17:14 coredump_filter?
-r--r--r-- 1 root root 0 Feb? 8 17:14 cpuset?
lrwxrwxrwx 1 root root 0 Feb? 8 17:14 cwd -> /var/run/saslauthd?
-r-------- 1 root root 0 Feb? 8 17:14 environ?
lrwxrwxrwx 1 root root 0 Feb? 8 17:09 exe -> /usr/sbin/saslauthd?
dr-x------ 2 root root 0 Feb? 8 17:15 fd?
-r-------- 1 root root 0 Feb? 8 17:14 limits?
-rw-r--r-- 1 root root 0 Feb? 8 17:14 loginuid?
-r--r--r-- 1 root root 0 Feb? 8 17:14 maps?
-rw------- 1 root root 0 Feb? 8 17:14 mem?
-r--r--r-- 1 root root 0 Feb? 8 17:14 mounts?
-r-------- 1 root root 0 Feb? 8 17:14 mountstats?
-rw-r--r-- 1 root root 0 Feb? 8 17:14 oom_adj?
-r--r--r-- 1 root root 0 Feb? 8 17:14 oom_score?
lrwxrwxrwx 1 root root 0 Feb? 8 17:14 root -> /?
-r--r--r-- 1 root root 0 Feb? 8 17:14 schedstat?
-r-------- 1 root root 0 Feb? 8 17:14 smaps?
-r--r--r-- 1 root root 0 Feb? 8 17:09 stat?
-r--r--r-- 1 root root 0 Feb? 8 17:14 statm?
-r--r--r-- 1 root root 0 Feb? 8 17:10 status?
dr-xr-xr-x 3 root root 0 Feb? 8 17:15 task?
-r--r--r-- 1 root root 0 Feb? 8 17:14 wchan?


1.1、cmdline — 启动当前进程的完整命令,但僵尸进程目录中的此文件不包含任何信息;?
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:222人  网站在2时22分10秒内访问总人数:23286人 当前 24.10%  粤ICP备18100884号-2