Linux编程学习笔记--proc文件系统
2012-6-23
linux中的/proc文件系统是一个虚拟的文件系统,由内核在运行时动态生成。它提供了内核运行时的配置和状态信息。用户可以通过这些文件来获取、或修改内核的信息。
关于proc,可以通过 man proc 获取详细的说明。
运行 mount 命令,可以看到 proc 文件系统的挂载信息。
下面列举一些proc文件系统中可能对用户有用的信息。
## 线程信息
在 /proc 目录下,以线程ID命名的文件目录包含了这个线程的运行信息。常用的有:
cmdline -- 线程参数列表
cwd -- 到线程运行目录的符号链接
exe -- 到可执行镜像的符号链接,可以获取运行程序的路径信息
fd -- 是一个目录,包含了这个线程打开的文件描述符
maps -- 映射到线程地址的文件信息
stat -- 线程的状态、统计信息,使用原始格式
statm -- 线程使用内存的信息
status -- 线程状态、统计信息,使用可读格式
environ -- 线程环境变量
/proc/self -- 到当前进程/proc目录的符号链接,通过这个目录可以获取当前运行进程的信息。
## 硬件信息
/proc/cpuinfo -- CPU信息
/proc/devices -- 字符、块设备的主驱动号
/proc/pci -- 挂接在PCI总线上的设备
/proc/tty/driver/serial --串口配置、统计信息
## 内核信息
/proc/version -- 系统版本信息
/proc/sys/kernel/ostype
/proc/sys/kernel/osrelease
/proc/sys/kernel/version
/proc/sys/kernel/hostname -- 主机名
/proc/sys/kernel/domainname -- 域名
/proc/meminfo -- 内存使用信息
## 文件系统
/proc/filesystems -- 内存可以识别的文件系统类型
/proc/ide
/proc/scsi
/proc/partitions -- 硬盘设备分区信息
/proc/sys/dev/cdrom/info -- CDROM信息
/proc/mounts -- 挂接文件系统的汇总
/proc/locks -- 当前系统中所有的文件锁
## 系统统计
/proc/loadavg -- 系统负荷信息
/proc/uptime -- 系统启动后的运行时间
## 学习材料
http://www.advancedlinuxprogramming.com/