В Linux, что означают все значения в команде "top"? - PullRequest
48 голосов
/ 21 ноября 2008

Когда вы запускаете top и видите все запущенные процессы, я всегда хотел знать, что на самом деле означает все. например все различные однобуквенные коды состояний для запущенного процесса (R = работает, S = спит и т. д.)

Где я могу найти это?

Ответы [ 2 ]

98 голосов
/ 21 ноября 2008

Страница руководства говорит о том, на что отображаются коды состояния, но не о том, что они на самом деле означают. С верхней страницы руководства:

'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' - это состояние, когда процесс мертв (он завершил свое выполнение), и остается только структура, описывающая его в ядре. Он ждет, когда его родительский процесс получит свой код выхода, и не намного. После завершения родительского процесса он исчезнет.

13 голосов
/ 21 ноября 2008

Вы можете использовать команду man top

...