首页/系统/Linux 运维命令速查//proc 直读进程细节
性能与监控48 条

/proc 直读进程细节

比 ps 更底层的现场:/proc/<pid>/status、cmdline、environ、io、fd 提供内存、环境变量、IO 与描述符全景。

Linux 运维命令速查系统更新于 2026-10-13

/proc 直读是什么

内核通过 /proc 暴露进程的一手信息:状态与内存、启动命令行、环境变量、IO 统计与打开的描述符。相比汇总视图,这里给出的是原始现场,适合需要精确证据的排查与取证场景。

基本信息

用途直接读取内核暴露的进程信息
路径/proc/进程号/ 下的若干文件
权限读取其他用户的进程信息通常需要 root
适用Linux procfs

典型使用场景

  • 精确取证:拿到启动参数与环境变量的原始内容
  • 内存分析:查看常驻内存、虚拟内存与线程数
  • IO 归因:读取进程累计读写字节数,判断是否在大量读写
  • 描述符排查:列出打开的文件与套接字,定位占用来源
  • 容器与命名空间:查看进程所属控制组与命名空间信息

常用示例

常用示例
cat /proc/1234/status | grep -E 'Name|State|VmRSS|Threads'
cat /proc/1234/cmdline | tr '\0' ' '; echo
cat /proc/1234/io
ls -l /proc/1234/fd | head
cat /proc/1234/cgroup

常用文件

文件内容用途
状态文件状态、内存、线程数概览式核对
命令行文件启动参数以空字符分隔
环境变量文件环境变量可能含敏感信息
IO 文件累计读写字节与次数判断 IO 压力来源
描述符目录打开的文件与套接字定位占用来源
控制组文件所属控制组确认资源限制与容器归属
环境变量文件可能包含口令与令牌,读取与展示都要遵守数据合规要求,不要外发原文。
启动命令行的参数之间以空字符分隔,直接查看会连成一行,先转换成空格再阅读。
进程退出时对应目录立即消失,取证类读取要尽快完成,必要时先让进程暂停。
内存字段含义不同:常驻内存反映实际占用,虚拟内存包含映射部分但未必占用物理页,评估占用要看前者。
描述符目录里的链接指向真实目标路径,用它定位进程占用的日志文件与套接字非常直接。
读取其他用户的进程文件需要 root 权限,普通用户只能看到属于自己的进程目录。

易错点

  • 命令行参数以空字符分隔,直接查看会显示成一行,需先做字符转换
  • 进程退出瞬间目录消失,取证类读取要尽快,否则拿不到现场
  • 环境变量里可能含敏感凭据,展示与流转都要谨慎
  • 不同内核版本的字段可能有增减,脚本解析前先确认目标系统的字段名

数据来源与参考

  • man 5 proc(procfs 全字段)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌