Файл /proc/[pid]/stat
содержит строку со статистикой, относящейся к процессу с указанным идентификатором (PID). Чтобы расшифровать эту строку, нужно понимать структуру данных, описываемую в этом файле.
Строка в файле /proc/[pid]/stat
состоит из 52 полей, разделенных пробелами. Каждое поле содержит определенную информацию о процессе:
- pid: Идентификатор процесса (PID).
- comm: Имя команды (в скобках).
- state: Односимвольный код состояния процесса.
- ppid: ID родительского процесса.
- pgrp: ID группы процессов.
- session: Идентификатор сессии.
- tty_nr: Номер терминала, связанного с процессом.
- tpgid: ID группы процессов, связанной с терминалом.
- flags: Флаги.
- minflt: Количество page faults, не требующих обращения к диску.
- cminflt: Количество page faults, не требующих обращения к диску, для потомков.
- majflt: Количество page faults, требующих обращения к диску.
- cmajflt: Количество page faults, требующих обращения к диску, для потомков.
- utime: Время работы в пользовательском режиме (в тактах).
- stime: Время работы в режиме ядра (в тактах).
- cutime: Суммарное время работы в пользовательском режиме для потомков (в тактах).
- cstime: Суммарное время работы в режиме ядра для потомков (в тактах).
- priority: Приоритет процесса.
- nice: Приятность (nice) процесса.
- num_threads: Количество потоков в процессе.
- itrealvalue: Время ожидания до следующего сигнала.
- starttime: Время запуска процесса (в тактах).
- vsize: Размер виртуальной памяти процесса.
- rss: Размер резидентной памяти процесса.
- rsslim: Ограничение размера резидентной памяти.
- startcode: Адрес начала кодовой секции.
- endcode: Адрес конца кодовой секции.
- startstack: Адрес начала стека.
- kstkesp: Указатель на стек в режиме ядра.
- kstkeip: Указатель на инструкцию в режиме ядра.
- signal: Битовая маска сигналов, ожидающих обработки.
- blocked: Битовая маска заблокированных сигналов.
- sigignore: Битовая маска игнорируемых сигналов.
- sigcatch: Битовая маска перехватываемых сигналов.
- wchan: Адрес ожидания (если процесс ожидает чего-либо).
- nswap: Количество обменов.
- cnswap: Количество обменов для потомков.
- exit_signal: Сигнал, отправляемый при выходе.
- processor: Номер процессора, на котором работает процесс.
- rt_priority: Приоритет реального времени.
- policy: Политика планирования.
- delayacct_blkio_ticks: Время ожидания операций ввода-вывода (в тиках).
- guest_time: Время работы в гостевой ОС (в тактах).
- cguest_time: Суммарное время работы в гостевой ОС для потомков (в тактах).
- start_data: Начало области данных.
- end_data: Конец области данных.
- start_brk: Начало динамически выделяемой памяти.
- arg_start: Начало аргументов командной строки.