proc文件系统

一、背景知识

在 Linux 中,/proc 是一个特殊的文件系统,被称为 “proc 文件系统” 或者简称为 “procfs”。它是一个【虚拟】的文件系统,不占用任何磁盘空间,而是由内核动态生成的,用于向用户空间提供内核内部状态和系统信息的视图。

/proc 目录下包含了多个子目录和文件,每个目录和文件代表了系统的一个方面。特别是/proc 下的【数字】目录代表了当前正在运行的进程的进程标识符 【PID】。例如如果系统中有 PID 为 1234 的进程,那么 /proc/1234 就是与该进程相关的信息目录。

二、知识点

以下是一些查看 /proc 进程目录的方法:

- 查看所有进程的列表:
	○  ls /proc 
	命令可以看到当前所有活动进程的 PID
- 查看单个进程的详细信息:
	○  cat /proc/<pid>/status 
	查看 PID 为 1234 的进程的信息
	这个 status 文件包含了进程的详细信息,如进程名、状态、父进程 ID (PPID)、线程 ID (TID) 等。
- 查看进程的命令行参数:
	○ cat /proc/<pid>/cmdline 
	可以看到进程启动时的完整命令行参数
- 查看进程的当前工作目录:
	○  ls -ld /proc/<pid>/cwd 
	可以看到指向进程当前工作目录的符号链接。
- 查看进程打开的文件描述符:
	○ 目录 /proc/<pid>/fd 包含了进程打开的所有文件描述符,每个文件描述符是一个指向实际文件的链接。
- 查看进程的内存映射:
	○ cat /proc/<pid>/maps 
	可以查看进程的虚拟内存布局,包括共享库、堆、栈等的映射。
- 要查看整个系统的信息
	/proc/meminfo   	内存信息
	/proc/cpuinfo	CPU 信息
	/proc/loadavg	负载平均
	/proc/swaps	   交换分区
	/proc/filesystems	文件系统
	/proc/interrupts 	中断

【注意】/proc 中的大多数文件都可以像普通文本文件那样读取,但它们实际上是由内核实时生成的,因此可以立即反映系统当前的状态

三、/proc/下文件含义

/proc// 目录下的子目录和文件提供了关于特定进程(由 PID 表示)的详细信息

- exe
	○ 这是一个符号链接,指向执行该进程的可执行文件的路径。
- cmdline
	○ 包含了启动该进程时所使用的命令行参数。参数之间用空字符(\0)分隔。
- root
	○ 包含了一个挂载点,该挂载点从进程的视角看起来像是根目录。这是由于 chroot 和 pivot_root 系统调用的影响。
- cwd
	○ 包含了一个指向进程当前工作目录的符号链接。
- fd
	○ 这个目录包含了一系列的符号链接,每个链接代表一个打开的文件描述符,指向实际的文件或设备。
- maps
	○ 显示了进程的虚拟内存映射,包括起始地址、结束地址、权限、偏移量、设备、inode 和路径。
- mem
	○ 允许直接访问进程的内存空间。出于安全考虑,通常需要 root 权限才能访问,并且现代的 Linux 发行版可能禁用了这个文件的访问。
- stat
	○ 提供了进程的状态信息,包括进程 ID、父进程 ID、组 ID、会话 ID、控制终端、优先级、nice 值、状态、虚拟内存大小、驻留内存大小、共享内存大小、文本段大小、数据段大小、堆栈大小、上下文切换次数、voluntary 和 involuntary 等。
- status
	○ 显示了进程的状态信息,以人类可读的格式,包括类型、状态、PID、PPID、线程 ID、线程组 leader、父进程的线程组 leader、会话 ID、控制终端、优先级、nice 值、虚拟内存大小、驻留内存大小、共享内存大小、文本段大小、数据段大小、堆栈大小、上下文切换次数、voluntary 和 involuntary 等。	
- io
	○ 显示了进程的 I/O 统计信息,如字节读写、系统调用次数等。
- stack
	○ 这个文件允许访问进程的栈信息,但同样,通常需要 root 权限才能访问。

久违 2024.08.13

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久违 °

小菜鸟就要使劲飞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值