/proc/[number]/stat
Status information about the process. This is used by ps(1). It is defined in
/usr/src/linux/fs/proc/array.c.
The fields, in order, with their proper scanf(3) format specifiers, are:
pid %d The process id.
comm %s
The filename of the executable, in parentheses. This is visible whether or not the executable is
swapped out.
state %c
One character from the string "RSDZTW" where R is running, S is sleeping in an interruptible wait, D
is waiting in uninterruptible disk sleep, Z is zombie, T is traced or stopped (on a signal), and W
is paging.
ppid %d
The PID of the parent.
pgrp %d
The process group ID of the process.
session %d
The session ID of the process.
tty_nr %d
The tty the process uses.
tpgid %d
The process group ID of the process which currently owns the tty that the process is connected to.
flags %lu
The kernel flags word of the process. For bit meanings, see the PF_* defines in <linux/sched.h>.
Details depend on the kernel version.
minflt %lu
The number of minor faults the process has made which have not required loading a memory page from
disk.
cminflt %lu
The number of minor faults that the process's waited-for children have made.
majflt %lu
The number of major faults the process has made which have required loading a memory page from disk.
cmajflt %lu
The number of major faults that the process's waited-for children have made.
utime %lu
The number of jiffies that this process has been scheduled in user mode.
stime %lu
The number of jiffies that this process has been scheduled in kernel mode.
cutime %ld
The number of jiffies that this process's waited-for children have been scheduled in user mode. (See
also times(2).)
cstime %ld
The number of jiffies that this process's waited-for children have been scheduled in kernel mode.
priority %ld
The standard nice value, plus fifteen. The value is never negative in the kernel.
nice %ld
The nice value ranges from 19 (nicest) to -19 (not nice to others).
0 %ld This value is hard coded to 0 as a placeholder for a removed field.
itrealvalue %ld
The time in jiffies before the next SIGALRM is sent to the process due to an interval timer.
starttime %lu
The time in jiffies the process started after system boot.
vsize %lu
Virtual memory size in bytes.
rss %ld
Resident Set Size: number of pages the process has in real memory, minus 3 for administrative purâ€
poses. This is just the pages which count towards text, data, or stack space. This does not include
pages which have not been demand-loaded in, or which are swapped out.
rlim %lu
Current limit in bytes on the rss of the process (usually 4294967295 on i386).
startcode %lu
The address above which program text can run.
endcode %lu
The address below which program text can run.
startstack %lu
The address of the start of the stack.
kstkesp %lu
The current value of esp (stack pointer), as found in the kernel stack page for the process.
kstkeip %lu
The current EIP (instruction pointer).
signal %lu
The bitmap of pending signals (usually 0).
blocked %lu
The bitmap of blocked signals (usually 0, 2 for shells).
sigignore %lu
The bitmap of ignored signals.
sigcatch %lu
The bitmap of catched signals.
wchan %lu
This is the "channel" in which the process is waiting. It is the address of a system call, and can
be looked up in a namelist if you need a textual name. (If you have an up-to-date /etc/psdatabase,
then try ps -l to see the WCHAN field in action.)
nswap %lu
Number of pages swapped - not maintained.
cnswap %lu
Cumulative nswap for child processes.
exit_signal %d
Signal to be sent to parent when we die.