Process Explorer
Explore Linux process states, signals, nice values, parse ps output, and browse the /proc filesystem — all in one interactive reference.
Process State Reference
Process is running or ready to run
The process is either executing on a CPU or sitting in the run queue ready to execute. This is the only state where the process is actually doing work.
Waiting for an event or signal
The process is waiting for an event to complete, such as I/O, a timer, or input from the user. It can be woken by a signal. Most processes spend the majority of their time in this state.
Waiting for I/O (cannot be interrupted)
The process is waiting for I/O to complete and cannot be interrupted by signals. Commonly seen during disk operations. Processes stuck in D state cannot be killed with SIGKILL until the I/O completes.
Stopped by a signal (e.g., SIGSTOP or Ctrl+Z)
The process has been stopped, usually by receiving SIGSTOP or SIGTSTP (Ctrl+Z). It can be resumed by sending SIGCONT. Debuggers also use this state when tracing a process.
Terminated but not reaped by parent
The process has finished execution but its entry remains in the process table because the parent has not yet called wait() to read its exit status. Zombies consume no resources except a PID and process table entry.
Process is fully terminated
The process has been removed from the process table. This state should never be visible in ps output. It exists only briefly during cleanup.
State Transitions
| From | To | Trigger |
|---|---|---|
| Created | R | fork() |
| R | S | wait for event |
| S | R | event occurs / signal |
| R | D | wait for I/O |
| D | R | I/O completes |
| R | T | SIGSTOP / SIGTSTP |
| T | R | SIGCONT |
| R | Z | exit() |
| Z | X | parent calls wait() |
STAT Column Modifiers (ps output)
| Character | Meaning |
|---|---|
| < | High priority (not nice to other processes) |
| N | Low priority (nice to other processes) |
| L | Has pages locked in memory |
| s | Session leader |
| l | Multi-threaded |
| + | In the foreground process group |