Proc文件系统(procfs)是在系统启动时动态创建的虚拟文件系统, 并在系统关闭时解散。
它包含有关当前正在运行的进程的有用信息, 被视为内核的控制和信息中心。
proc文件系统还提供内核空间和用户空间之间的通信介质。
下面是我PC上/ proc的快照。
ls -l /proctotal 0dr-xr-xr-x9 rootroot0 Mar 31 21:34 1dr-xr-xr-x9 rootroot0 Mar 31 21:34 10dr-xr-xr-x9 avahiavahi0 Mar 31 21:34 1034dr-xr-xr-x9 rootroot0 Mar 31 21:34 1036dr-xr-xr-x9 rootroot0 Mar 31 21:34 1039dr-xr-xr-x9 rootroot0 Mar 31 21:34 1041dr-xr-xr-x9 rootroot0 Mar 31 21:34 1043dr-xr-xr-x9 rootroot0 Mar 31 21:34 1044dr-xr-xr-x9 rootroot0 Mar 31 21:34 1048dr-xr-xr-x9 rootroot0 Mar 31 21:34 105dr-xr-xr-x9 rootroot0 Mar 31 21:34 1078dr-xr-xr-x9 rootroot0 Mar 31 21:34 11dr-xr-xr-x9 rootroot0 Mar 31 21:34 1121dr-xr-xr-x9 lplp0 Mar 31 21:34 1146dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1149dr-xr-xr-x9 mysqlmysql0 Mar 31 21:34 1169dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1180dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1181dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1182dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1183dr-xr-xr-x9 postgrespostgres0 Mar 31 21:34 1184dr-xr-xr-x9 rootroot0 Mar 31 21:34 1186dr-xr-xr-x9 rootroot0 Mar 31 21:34 12...
如果列出目录, 则会发现对于进程的每个PID, 都有专用的目录。
你只能使用在终端上检查目录
ls -l /proc | grep '^d'
现在, 我们检查分配的PID的特定过程, 你可以从ps命令
ps -aux
输出如下:
文章图片
ps -aux命令输出
现在使用PID = 7494检查突出显示的进程, 你可以检查/ proc文件系统中是否有该进程的条目。
ls -ltr /proc/7494
输出如下:
total 0-rw-r--r--1 mandeep mandeep 0 Apr1 01:14 oom_score_adjdr-xr-xr-x 13 mandeep mandeep 0 Apr1 01:14 task-r--r--r--1 mandeep mandeep 0 Apr1 01:16 status-r--r--r--1 mandeep mandeep 0 Apr1 01:16 stat-r--r--r--1 mandeep mandeep 0 Apr1 01:16 cmdline-r--r--r--1 mandeep mandeep 0 Apr1 01:17 wchan-rw-r--r--1 mandeep mandeep 0 Apr1 01:17 uid_map-rw-rw-rw-1 mandeep mandeep 0 Apr1 01:17 timerslack_ns-r--r--r--1 mandeep mandeep 0 Apr1 01:17 timers-r--------1 mandeep mandeep 0 Apr1 01:17 syscall-r--r--r--1 mandeep mandeep 0 Apr1 01:17 statm-r--------1 mandeep mandeep 0 Apr1 01:17 stack-r--r--r--1 mandeep mandeep 0 Apr1 01:17 smaps-rw-r--r--1 mandeep mandeep 0 Apr1 01:17 setgroups-r--r--r--1 mandeep mandeep 0 Apr1 01:17 sessionid-r--r--r--1 mandeep mandeep 0 Apr1 01:17 schedstat-rw-r--r--1 mandeep mandeep 0 Apr1 01:17 schedlrwxrwxrwx1 mandeep mandeep 0 Apr1 01:17 root ->
/proc/2341/fdinfo-rw-r--r--1 mandeep mandeep 0 Apr1 01:17 projid_map-r--------1 mandeep mandeep 0 Apr1 01:17 personality...
在linux中, / proc在名为/ proc / PID的目录中包含每个正在运行的进程(包括内核进程)的目录, 这些目录存在:
目录 | 描述 |
---|---|
/ proc / PID / cmdline | 命令行参数。 |
/ proc / PID / cpu | 执行它的当前和最后一个cpu。 |
/ proc / PID / cwd | 链接到当前工作目录。 |
/ proc / PID /环境 | 环境变量的值。 |
/ proc / PID / exe | 链接到此过程的可执行文件。 |
/ proc / PID / fd | 目录, 其中包含所有文件描述符。 |
/ proc / PID /地图 | 内存映射到可执行文件和库文件。 |
/ proc / PID / mem | 此过程保留的内存。 |
/ proc / PID / root | 链接到此过程的根目录。 |
/ proc / PID / stat | 流程状态。 |
/ proc / PID / statm | 进程内存状态信息。 |
/ proc / PID /状态 | 易于阅读的过程状态。 |
文件 | 描述 |
---|---|
/ proc /加密 | 可用密码模块列表 |
/ proc / diskstats | 每个逻辑磁盘设备的信息(包括设备号) |
/ proc /文件系统 | 列出时内核支持的文件系统列表 |
/ proc / kmsg | 保留内核输出的消息 |
/ proc / meminfo | 内核如何管理其内存的摘要。 |
/ proc / scsi | 有关通过SCSI或RAID控制器连接的任何设备的信息 |
/ proc / tty | 有关当前端子的信息 |
/ proc /版本 | 包含Linux内核版本, 发行版本号, gcc版本号(用于构建内核)以及与当前正在运行的内核版本有关的任何其他相关信息 |
less /proc/cryptoname: ccm(aes)driver: ccm_base(ctr(aes-aesni), cbcmac(aes-aesni))module: ccmpriority: 300refcnt: 2selftest: passedinternal: notype: aeadasync: noblocksize: 1ivsize: 16maxauthsize: 16geniv: name: ctr(aes)driver: ctr(aes-aesni)module: kernelpriority: 300refcnt: 3selftest: passedinternal: notype: blkcipherblocksize: 1min keysize: 16max keysize: 32ivsize: 16geniv: chainiv...
参考文献:
1)
/ wiki / Procfs
2)
【Linux中的proc文件系统介绍和指南】/ proc
推荐阅读
- SCAN和CSCAN磁盘调度算法之间有什么区别()
- Internet协议版本6(IPv6)标头详细解读
- 本文教你安装ie11 win7 64位原版失败的原因
- ghost windows7系统ISO镜像最新推荐
- 系统之家windows7系统旗舰版iso镜像最新推荐
- Ghost windows7 64位系统旗舰版激活码大全制作详细说明
- windows7系统64位壁纸桌面主题图文详细教程图解
- Ghost 系统64位win7 oem 激活工具最新推荐
- win7安全装机版安装图文详细教程