/proc/pid/stat
External
Internal
Overview
/proc/<pid>/stat contains status information about a process. This information is used by ps.
Example
972 (docker-containe) S 901 972 972 0 -1 1077944576 2657 0 2 0 561 205 0 0 20 0 11 0 1820 441688064 2327 18446744073709551615 4194304 11049596 140727040242048 140727040241432 4602915 0 2079995941 0 2143420159 18446744073709551615 0 0 17 1 0 0 0 0 0 13147640 13322176 25554944 140727040249523 140727040249749 140727040249749 140727040249821 0
Content
1:pid 2:(exec-file-name) 3:state 4:ppid 5:pgrp 6:session 7 8 9 10 11 12 13 14:utime 15:stime 16:cutime 17:cstime 18 19 20 21 22:starttime 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43:guest_time 44 45 46 47 48 49 50 51 52
Field 1 - pid
The process ID as integer.
Field 2 - Executable File Name
The filename of the executable, in parentheses. This is visible whether or not the executable is swapped out.
Field 3 - state
The process state, as character:
- R - running
- S - sleeping in an interruptible wait
- D - waiting in uninterruptible disk sleep
- Z - zombie
- T - stopped on a signal or (before 2.6.33) trace stopped
- t - tracing stop (2.6.33 onward)
- W - paging (before 2.6.0)
- X - dead (from 2.6.0 onward)
- x - dead (2.6.33 to 3.13 only)
- K - wakekill (2.6.33-3.13)
- W - waking (2.6.33-3.13)
- P - parked (3.9-3.13)
Field 4 - ppid
The pid of the parent process, as integer.
Field 5 - pgrp
The process group ID, as integer.
Field 6 - session
The session ID of the process, as integer.
Field 7 - tty_nr
Field 8 - tpgid
Field 9 - flags
Field 10 - minflt
Field 11 - cminflt
Field 12 - majflt
Field 13 - cmajflt
Field 14 - utime
Amount of time that this process has been scheduled in user mode, measured in clock ticks. Expressed as an unsigned long. This includes guest time, as described below, so that applications that are not aware of the guest time field do not lose that time from their calculations.
Field 15 - stime
Amount of time that this process has been scheduled in kernel mode, measured in clock ticks. Expressed as an unsigned long.
Field 16 - cutime
Waited-for children's CPU time spent in user code expressed in clock ticks. This includes guest time, which is time spent running a virtual CPU.
Field 17 - cstime
Amount of time that this process's waited-for children have been scheduled in kernel mode, measured in clock ticks.
Field 18 - priority
Field 19 - nice
Field 20 - num_threads
Field 21 - itrealvalue
Field 22 - starttime
The timestamp of the process start, relative to the system boot. In kernels before 2.6, this value was expressed in jiffies. Since 2.6, the value is expressed in clock ticks.
To calculate the amount of time the process was up an running, use the following formula:
process-running-time(seconds) = system-uptime(seconds) - (starttime / USER_HZ)
Field 23 - vsize
Field 24 - rss
Field 25 - rsslim
Field 26 - startcode
Field 27 - endcode
Field 28 - startstack
Field 29 - kstkesp
Field 30 - kstkeip
Field 31 - signal
Field 32 - blocked
Field 33 - sigignore
Field 34 - sigcatch
Field 35 - wchan
Field 36 - nswap
Field 37 - cnswap
Field 38 - exit_signal
Field 39 - processor
Field 40 - rt_priority
Field 41 - policy
Field 42 - delayacct_blkio_ticks
Field 43 - guest_time
Guest time of the process, which is time spent running a virtual CPU for a guest operating system, measured in clock ticks. Expressed as an unsigned long.