Skip to content
~/process-explorer
$

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

RRunning

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.

SSleeping (Interruptible)

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.

DUninterruptible Sleep

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.

TStopped

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.

ZZombie

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.

XDead

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

R
Running
S
Sleeping (Interruptible)
D
Uninterruptible Sleep
T
Stopped
Z
Zombie
X
Dead
FromToTrigger
CreatedRfork()
RSwait for event
SRevent occurs / signal
RDwait for I/O
DRI/O completes
RTSIGSTOP / SIGTSTP
TRSIGCONT
RZexit()
ZXparent calls wait()

STAT Column Modifiers (ps output)

CharacterMeaning
<High priority (not nice to other processes)
NLow priority (nice to other processes)
LHas pages locked in memory
sSession leader
lMulti-threaded
+In the foreground process group

What Are Linux Processes?

Every running program on a Linux system is a process with a unique PID, resource allocation, and state (running, sleeping, stopped, or zombie). Understanding process management is fundamental to Linux system administration and troubleshooting.

Signals, Nice Values, and /proc

Signals like SIGTERM and SIGKILL control process behavior, while nice values (-20 to 19) set CPU scheduling priority. The /proc virtual filesystem exposes detailed runtime information about every process on the system.

How to Use This Tool

Browse the interactive state diagram to understand process lifecycles, look up any signal by number or name, calculate nice values, or paste ps aux output to parse and analyze running processes on your system.