Linux: PROCESS STATE CODES

- D (uninterruptible sleep): The process is in uninterruptible sleep, usually waiting for I/O operations to complete.
- R (running or runnable): The process is either running or ready to run and is waiting for its turn on the CPU.
- S (interruptible sleep): The process is in interruptible sleep, waiting for an event to complete. It can be awakened by signals.
- T (stopped by job control signal): The process has been stopped (paused) by a job control signal.
- t (stopped by debugger during tracing): The process is stopped by a debugger during tracing.
- W (paging): Not valid since the 2.6.xx kernel. This state is no longer used.
- X (dead): The process is dead and should never be seen. This might indicate a bug.
- Z (zombie): The process is terminated but not reaped by its parent. It exists in the process table as a "zombie" until the parent acknowledges its termination.
For BSD formats and when using the stat keyword, additional characters may be displayed:
- < (high-priority): The process has high priority and may not be "nice" to other users.
- N (low-priority): The process has low priority and is "nice" to other users.
- L (has pages locked into memory): The process has pages locked into memory, often used for real-time and custom I/O.
- s (is a session leader): The process is a session leader.
- l (is multi-threaded): The process is multi-threaded, using CLONE_THREAD (such as NPTL pthreads).
- + (is in the foreground process group): The process is part of the foreground process group.
Member discussion