proc:status_file
This is an old revision of the document!
Proc - Status file
To get the status information of a process, all you have to do is read the file /proc/PID/status:
cat /proc/self/status
returns:
Name: cat State: R (running) Tgid: 5452 Pid: 5452 PPid: 743 TracerPid: 0 (2.4) Uid: 501 501 501 501 Gid: 100 100 100 100 FDSize: 256 Groups: 100 14 16 VmPeak: 5004 kB VmSize: 5004 kB VmLck: 0 kB VmHWM: 476 kB VmRSS: 476 kB VmData: 156 kB VmStk: 88 kB VmExe: 68 kB VmLib: 1412 kB VmPTE: 20 kb VmSwap: 0 kB Threads: 1 SigQ: 0/28578 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 00000000fffffeff CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff voluntary_ctxt_switches: 0 nonvoluntary_ctxt_switches: 1
This shows you nearly the same information you would get if you viewed it with the ps command. In fact, ps uses the proc file system to obtain its information. But you get a more detailed view of the process by reading the file /proc/PID/status.
Contents of the status files (as of 2.6.30-rc7)
Field | Content |
---|---|
Name | Filename of the executable. |
State | State (R is running, S is sleeping, D is sleeping in an uninterruptible wait, Z is zombie, T is traced or stopped). |
Tgid | Thread group ID. |
Pid | Process id. |
PPid | Process id of the parent process. |
TracerPid | PID of process tracing this process (0 if not). |
Uid | Real, effective, saved set, and file system UIDs. |
Gid | Real, effective, saved set, and file system GIDs. |
FDSize | Number of file descriptor slots currently allocated. |
Groups | Supplementary group list. |
VmPeak | Peak virtual memory size. |
VmSize | Total program size. |
VmLck | Locked memory size. |
VmHWM | Peak resident set size (“high water mark”). |
VmRSS | Size of memory portions. |
VmData | Size of data, stack, and text segments. |
VmStk | Size of data, stack, and text segments. |
VmExe | Size of text segment. |
VmLib | Size of shared library code. |
VmPTE | Size of page table entries. |
VmSwap | Size of swap usage (the number of referred swapents). |
Threads | Number of threads. |
SigQ | Number of signals queued/max. number for queue. |
SigPnd | Bitmap of pending signals for the thread. |
ShdPnd | Bitmap of shared pending signals for the process. |
SigBlk | Bitmap of blocked signals. |
SigIgn | Bitmap of ignored signals. |
SigCgt | Bitmap of catched signals. |
CapInh | Bitmap of inheritable capabilities. |
CapPrm | Bitmap of permitted capabilities. |
CapEff | Bitmap of effective capabilities. |
CapBnd | Bitmap of capabilities bounding set. |
Cpus_allowed | Mask of CPUs on which this process may run. |
Cpus_allowed_list | Same as previous, but in “list format”. |
Mems_allowed | Mask of memory nodes allowed to this process. |
Mems_allowed_list | Same as previous, but in “list format”. |
voluntary_ctxt_switches | Number of voluntary context switches. |
nonvoluntary_ctxt_switches | Number of non voluntary context switches. |
proc/status_file.1594805433.txt.gz · Last modified: 2020/07/15 09:30 by 127.0.0.1