/proc文件系统是一种内核和内核模块用来向进程(process)发送信息的机制。这个伪文件系统让你可以和内核内部数据结构进行交互,获取有关进程的有用信息,在运行中改变设置(通过改变内核参数)。与其他文件系统不同,/proc存在于内存之中,而不是硬盘上。
/proc由内核控制,没有承载/proc的设备。因为/proc主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。
/proc的文件可以用于访问有关内核状态、计算机属性、正在运行的进程的状态等信息。大部分/proc中的文件和目录提供系统物理环境的最新信息。
1.得到有用的系统/内核信息
/proc文件系统可被用于手机有用的关于系统和运行中的内核信息。下面是一些重要的文件:
/proc/cpuinfo CPU信息(型号、家族、缓存大小等)
/proc/meminfo 物理内存、交换空间等信息
/proc/mounts 已加载的文件系统列表
/proc/devices 可用设备列表
/proc/filesystems 被支持的文件系统
/proc/modules 已加载的模块
/proc/version 内核版本
/proc/cmdline 系统启动时输入的内核命令行参数
2.有关运行中的进程信息
/proc可用于获取运行中的进程信息。在其中有一些编号的子目录。每个编号的目录对应一个进程ID(PID)。
#查找进程信息
$ps -asf | grep mozilla
上面讨论的大部分为只读文件。而实际上/proc文件系统通过/proc中可读写的文件,创造了对内核的交互机制。写这些文件可以改变内核状态,因而要慎重改动这些文件。/proc/sys目录存放所有可读写的文件目录,可以用于改变内核行为。