When using ps with the “u” flag (ps -u) you will see a column called STAT that displays the process’s status.
The STAT column in the example below is outlined in red (using ps -aux):
D – Uninterruptible sleep (usually a critical system process, a process that cannot be killed without rebooting)
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.
Z – Defunct (“zombie”) process, terminated but not closed by the parent process that created it
Additional characters may be seen if in a BSD environment or when using the “stat” modifier with ps:
W – has no resident pages
< – high-priority process
N – low-priority task
L – has pages locked into memory (for real-time and custom IO)