В top у каждого процесса была буква в столбце S. Она говорит, работает процесс прямо сейчас, ждёт или стоит.
Три буквы в STAT
Выполни команду: столбец STAT — состояние процесса, %CPU — его доля процессора. Сравни три строки indexer.
Сначала предположи
--docs и --blog процессор почти не занимают. Какие у них будут буквы в STAT?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
Первая буква в столбце STAT — состояние процесса:
| Буква | Состояние |
|---|---|
| R | выполняется или ждёт очереди к процессору |
| S | спит: ждёт таймера, данных или запроса |
| T | остановлен и стоит, пока его не продолжат |
S — обычное состояние: почти вся сотня процессов в top спала. Процесс --docs спит, пока для него нет работы, и проснётся сам. Процесс --blog остановлен: его остановили сигналом, и сам он не продолжит. Как останавливают и продолжают процессы, разбирает урок о сигналах.
У процесса веб-сервера в STAT буква S и 0.0 в %CPU, запросов к сайту сейчас нет. Что это значит?
-
S стоит у живого процесса: он ждёт события и проснётся. Завершившийся процесс спать не может.
-
Остановленный процесс отмечен буквой T, как --blog в упражнении. S — сон в ожидании работы.
-
S — сон в ожидании работы: процесс проснётся сам, когда придёт запрос, как --docs в упражнении. Так спит почти вся сотня процессов в top.
S — сон: процесс ждёт запроса, таймера или данных и проснётся, когда они появятся. Почти все процессы машины большую часть времени спят.