В Linux процессы могут находиться в нескольких состояниях. В top/htop и в /proc они обозначаются буквами.
Основные состояния процессов
- R (Running / Runnable) — выполняется на CPU или готов к выполнению.
- S (Sleeping) — спящий, ожидает события (например, ввод/вывод). Может быть прерываемым.
- D (Uninterruptible Sleep) — спящий, не может быть прерван сигналом; обычно ждёт завершения I/O.
- T (Stopped / Traced) — процесс остановлен (например, через
SIGSTOP) или отслеживается отладчиком. - Z (Zombie) — процесс завершён, но его родитель ещё не прочитал статус; занимает PID, но не ресурсы CPU/RAM.
- I (Idle / Idle kernel thread) — для потоков ядра, которые простаивают (используется в новых версиях ядра).
Дополнительные обозначения (иногда встречаются)
- X — процесс мёртвый (dead), уже завершён.
- t — поток, остановленный отладчиком.
- < > — высокоприоритетный (real-time) процесс.
- N — низкоприоритетный процесс (nice > 0).
Эти состояния отображаются в колонке S в top/htop и помогают понять, что делает процесс и влияет ли он на загрузку CPU или I/O.