Linux 进程的 status 注解。

时间:2024-03-08 13:05:40

我们知道 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: 信号队列信息
SigPnd: 挂起的信号
ShdPnd: 共享挂起的信号
SigBlk: 阻塞的信号
SigIgn: 忽略的信号
SigCgt: 捕获的信号
CapInh/CapPrm/CapEff/CapBnd/CapAmb: 进程的能力限制
NoNewPrivs: 是否禁止创建新特权
Seccomp: 安全计算模块
Speculation_Store_Bypass: 存储旁路漏洞状态
Cpus_allowed/Cpus_allowed_list/Mems_allowed/Mems_allowed_list: CPU和内存掩码
voluntary_ctxt_switches/nonvoluntary_ctxt_switches: 进程切换上下文次数(自愿/非自愿)

观察 pppd 进程状态信息。(例子)

Name:	pppd
Umask:	0022
State:	S (sleeping)
Tgid:	9262
Ngid:	0
Pid:	9262
PPid:	9261
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	512
Groups:	0 
NStgid:	9262
NSpid:	9262
NSpgid:	9261
NSsid:	8517
VmPeak:	  769144 kB
VmSize:	  768856 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   25488 kB
VmRSS:	   21152 kB
RssAnon:	   10964 kB
RssFile:	   10188 kB
RssShmem:	       0 kB
VmData:	  152504 kB
VmStk:	     132 kB
VmExe:	   12788 kB
VmLib:	    3976 kB
VmPTE:	     324 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	10
SigQ:	0/3429
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000001001
SigCgt:	00000001c180cefe
CapInh:	0000000000000000
CapPrm:	0000003fffffffff
CapEff:	0000003fffffffff
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Speculation_Store_Bypass:	not vulnerable
Cpus_allowed:	f
Cpus_allowed_list:	0-3
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	910837
nonvoluntary_ctxt_switches:	232