Страница руководства говорит о том, на что отображаются коды состояния, но не о том, что они на самом деле означают. С верхней страницы руководства:
'D' = uninterruptible sleep
'R' = running
'S' = sleeping
'T' = traced or stopped
'Z' = zombie
'R' - самый простой; процесс готов к запуску и будет запускаться всякий раз, когда наступит его очередь использовать ЦП.
'S' и 'D' - это два состояния сна, когда процесс ждет, чтобы что-то произошло. Разница в том, что «S» может быть прерван сигналом, а «D» - нет (это обычно видно, когда процесс ожидает диск).
'T' - это состояние, в котором процесс останавливается, обычно через SIGSTOP
или SIGTSTP
. Он также может быть остановлен отладчиком (ptrace
). Когда вы видите это состояние, обычно это происходит потому, что вы использовали Ctrl-Z, чтобы поместить команду в фоновый режим.
'Z' - это состояние, когда процесс мертв (он завершил свое выполнение), и остается только структура, описывающая его в ядре. Он ждет, когда его родительский процесс получит свой код выхода, и не намного. После завершения родительского процесса он исчезнет.