/proc文件系统
2021-03-06 本文已影响0人
GGBond_8488
/proc/PID
每个/proc/PID目录中都存在一个命名为status的文件
➜ / cat /proc/1/status
Name: systemd
Umask: 0000
State: S (sleeping)
Tgid: 1
Ngid: 0
Pid: 1
PPid: 0
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 128
Groups:
VmPeak: 52560 kB
VmSize: 43584 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 3936 kB
VmRSS: 3932 kB
RssAnon: 1376 kB
RssFile: 2556 kB
RssShmem: 0 kB
VmData: 1168 kB
VmStk: 132 kB
VmExe: 1420 kB
VmLib: 3728 kB
VmPTE: 108 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/7261
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 7be3c0fe28014a03
SigIgn: 0000000000001000
SigCgt: 00000001800004ec
CapInh: 0000000000000000
CapPrm: 0000001fffffffff
CapEff: 0000001fffffffff
CapBnd: 0000001fffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Speculation_Store_Bypass: vulnerable
Cpus_allowed: 1
Cpus_allowed_list: 0
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: 85430
nonvoluntary_ctxt_switches: 4228
每个/proc/PID 目录下的文件节选
image.png
/proc/PID/fd
该目录为进程打开的每个文件描述符都包含了一个符号链接,该符号链接的名称都与描述符的数值相匹配。
线程 :/proc/PID/task
针对进程指令的每个线程,内核提供了以/proc/PID/task/TID命名的子目录,其中TID时该线程的线程ID。
每个/proc/PID/task/TID子目录中都有一套类似于/proc/PID目录内容的文件和目录。因为线程共享了多个属性,所以这些文件中的许多信息堆进程中各个线程而言都是相同的。