初步了解Linux proc文件系统

梦里梦外; 2022-11-19 11:24 281阅读 0赞

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。
用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。
由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

proc的主要目录和文件

它的主要目录和文件结构如下:(/proc/)
apm # 高级电源管理信息
bus # 总线配置信息(USB的配置也记录在此)
cmdline # 内核命令行
Cpuinfo # 关于Cpu信息
Devices # 可以用到的设备(块设备/字符设备)
Dma # 使用的DMA通道
Filesystems # 支持的文件系统
Interrupts # 中断的使用
Ioports # I/O端口的使用
Kcore # 内核核心印象
Kmsg # 内核消息
Ksyms # 内核符号表
Loadavg # 负载均衡
Locks # 内核锁
Meminfo # 内存信息
Misc # 杂项
Modules # 加载模块列表(可以想成是驱动程序)
Mounts # 加载的文件系统
Partitions # 系统识别的分区表
PCI # 在PCI总线上,每台设备的详细情况(可以使用lspci来查看)
Rtc # 实时时钟
Slabinfo Slab # 池信息
Stat # 全面统计状态表
Swaps # 对换空间的利用情况
Version # 内核版本
Uptime # 系统正常运行时间

  1. 除了以上的目录外,主机上正在运行的各进程的PID号也以目录名的形式存在于/proc目录下。其中cmdline文件和environ文件,前者表示启动这个进程的命令串;后者是这个进程的环境变量的内容。它们均可以使用cat命令进行查看。

查看proc所有的文件和目录;这是在cygwin虚拟环境;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JjYm9ibzIxY24_size_16_color_FFFFFF_t_70

看一下进程;当前有2个;/proc/进程ID,查看进程相关的文件;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JjYm9ibzIxY24_size_16_color_FFFFFF_t_70 1

/proc/进程ID/environ,进程相关环境变量信息;按下图输出,虚拟环境没有环境变量相关信息;

fd,当前进程打开的每一个文件的文件描述符(file descriptor);

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JjYm9ibzIxY24_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,281人围观)

还没有评论,来说两句吧...

相关阅读

    相关 初步了解Linux proc文件系统

    proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。 用户和应用程序可以通过proc得到系统的信息,并