我们知道 Linux 一切都是面向文件的,所以我们可以通过文件来获取到正在运行的ELF程序的状态信息。
本文会注解进程状态里面的各项输出参数的作用,以便于人们在写SH脚本程序的时候可以作为一个参照信息表。
当我们知道了进程ID时可以用这个命令来查看进程的状态信息。
cat /proc/进程ID/status
进程状态信息各项描述:
Name: 进程的名称
Umask: 进程的文件创建掩码
State: 进程的状态,比如运行(R)、睡眠(S)等
Tgid: 线程组ID
Ngid: 保留字段
Pid: 进程ID
PPid: 父进程ID
TracerPid: 跟踪进程的进程ID
Uid: 用户ID
Gid: 组ID
FDSize: 进程打开的文件描述符数量
Groups: 进程所属的附加组
VmPeak: 进程使用的最大虚拟内存大小
VmSize: 进程当前的虚拟内存大小
VmLck: 已锁定的虚拟内存大小
VmPin: 固定的虚拟内存大小
VmHWM: 高峰工作集大小
VmRSS: 实际使用的物理内存大小(常驻集大小)
RssAnon: 匿名内存大小
RssFile: 文件页大小
RssShmem: 共享内存大小
VmData: 数据段大小
VmStk: 栈段大小
VmExe: 可执行代码段大小
VmLib: 共享库大小
VmPTE: 页表条目大小
VmSwap: 交换空间大小
HugetlbPages: 巨大页面大小
CoreDumping: 是否正在进行核心转储
THP_enabled: 是否启用了透明大页面
Threads: 线程数
SigQ: 信号队列信息<