/proc文件系统
Linux将一切事物都看作文件,所以硬件设备在文件系统中也有相应的文件对应,我们可以通过前文讲到的linux文件系统调用这种方式通过/dev
目录中的文件来访问具体的设备。
Linux具有一个特殊的文件系统procfs,procfs是进程文件系统 (process file system) 的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc
目录。由于 /proc 不是一个真正的文件系统,它也就不占用存储空间,只是占用有限的内存。 /proc
目录中包含了许多特殊文件用来对驱动程序或内核信息进行更高层次的访问。通过读写这些文件就可以获取或设置相关参数。
获取cpu状态信息 cat /proc/cpuinfo
获取内存使用情况cat /proc/meminfo
获取内核版本信息cat /proc/version
获取文件获得网络套接字的使用统计cat /net/sockstat
/proc目录中以数字命名的子目录用于提供正在运行的进程的信息,数字值为该进程的PID,PID可以通过ps -a
命令查看。
对于某个进程4399,cmdline保存了启动它的命令行,environ保存了它的shell环境,fd保存了它正在使用的文件描述符信息,cwd保存现在工作的目录,exe是它运行的可执行程序