Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process:
- D Uninterruptible sleep (usually IO)
- R Running or runnable (on run queue)
- S Interruptible sleep (waiting for an event to complete)
- T Stopped, either by a job control signal or because it is being traced.
- W Paging (not valid since the 2.6.xx kernel)
- X Dead (should never be seen)
- Z Defunct ("zombie") process, terminated but not reaped by its parent.
Source: man ps
I recently came across a second list:
- R Running
- S Sleeping in an interruptible wait
- D Waiting in uninterruptible disk sleep
- Z Zombie
- T Stopped (on a signal) or (before Linux 2.6.33) trace stopped
- t Tracing stop (Linux 2.6.33 onward)
- W Paging (only before Linux 2.6.0)
- X Dead (from Linux 2.6.0 onward)
- x Dead (Linux 2.6.33 to 3.13 only)
- K Wakekill (Linux 2.6.33 to 3.13 only)
- W Waking (Linux 2.6.33 to 3.13 only)
- P Parked (Linux 3.9 to 3.13 only)
http://man7.org/linux/man-pages/man5/proc.5.html in the "/proc/[pid]/stat" section: