Linux процессы
Давайте разберемся, какой вывод, когда мы запускаем команду ps
ps
у нас есть,
PID: Идентификатор процесса
TTY: Управляющий терминал, связанный с процессом
STAT: Код состояния процесса
TIME: Общее время использования ЦП
CMD: Имя исполняемого файла/команды
ps aux
a
отображает все запущенные процессы, в том числе запущенные другими пользователями.
u
показывает более подробную информацию о процессах. И, наконец, x
перечисляет все процессы
USER: Эффективный пользователь
PID: Идентификатор процесса
%CPU: Используемое процессорное время, деленное на время выполнения процесса
%MEM: Отношение размера резидентного набора процесса к физической памяти на машине
VSZ: Использование виртуальной памяти для всего процесса
RSS: Размер резидентного набора, физическая память без подкачки, которую использовала задача
TTY: Управляющий терминал, связанный с процессом (TTY — это терминал, выполнивший команду)
STAT: Код состояния процесса
START: Время начала процесса
TIME: Общее время использования ЦП
COMMAND: Имя исполняемого файла/команды
Состояния процесса
В столбце STAT вы увидите множество значений. Процесс Linux может находиться в нескольких различных состояниях.
Наиболее распространенные коды состояния:
R: Запущенный или запускаемый, он просто ждет, пока ЦП его обработает
S: Прерываемый сон, ожидание завершения события, например ввода с терминала
D: Непрерывный сон, процессы, которые нельзя убить или прервать по сигналу, обычно, чтобы заставить их уйти, приходится перезагружаться или устранять проблему
Z: Зомби — это завершенные процессы, ожидающие сбора своих статусов
T: Остановлен, процесс, который был приостановлен/остановлен
/proc файловая система
Помните, что все в Linux является файлом, даже процессы. Информация о процессах хранится в специальной файловой системе, известной как файловая система /proc
.
ls /proc
Здесь вы должны увидеть несколько значений, для каждого PID есть подкаталоги. Если вы посмотрите на PID в выводе ps, вы сможете найти его в каталоге /proc.
Внутри процесса
cat /proc/1/status
Вы должны увидеть информацию о состоянии процесса, а также более подробную информацию.
Каталог /proc
— это то, как ядро видит систему, поэтому здесь гораздо больше информации, чем в ps.