ps

Вывод информации о состоянии процесса (POSIX)

Синтаксис:

ps [-Aa] [-G список_групп] [-o формат]...

[-p список_процессов] [-t список_терминалов] [-U список_пользователей]

Поддерживаемые платформы:

QNX Neutrino, Microsoft Windows

Опции:

-A

Вывести информацию обо всех доступных процессах.

-a

Вывести информацию обо всех процессах, связанных с терминалами, за исключением лидеров групп.

-G список_групп

Вывести информацию о процессах, реальный идентификатор группы которых указан в аргументе список_групп. Идентификаторы групп в списке можно разделять запятыми или пробелами.

-o формат

Вывести информацию в соответствии со спецификациями, указанными в аргументе формат. Если указано более одной опции -o, то они обрабатываются путем конкатенации всех аргументов формат.

-p список_процессов

Вывести информацию только о тех процессах, идентификаторы которых перечислены в аргументе список_процессов. Идентификаторы процессов в списке можно разделять запятыми или пробелами.

-t список_терминалов

Вывести информацию только о тех процессах, которые связаны с терминалами, перечисленными в аргументе список_терминалов. Идентификаторы терминалов в списке можно разделять запятыми или пробелами.

-U список_пользователей

Вывести информацию только о тех процессах, реальный идентификатор пользователя или имя входа в систему которых указаны в аргументе список_пользователей. Идентификаторы пользователей в списке можно разделять запятыми или пробелами.

Описание:

Утилита ps выводит информацию о процессах, если у пользователя имеются достаточные полномочия для получения информации об этих процессах. Если опции не указаны, утилита ps выводит информацию о процессах, связанных с текущим терминалом. Выводимая информация включает в себя идентификатор процесса, имя терминала, кумулятивное время выполнения и имя команды для каждого процесса.

С помощью опций, в качестве аргументов которых используются списки (-g, -p, -t, -u), могут быть выведены списки элементов, разделенных запятыми или пробельными символами, если все элементы содержатся в одном аргументе командной строки. Если используются пробельные символы, то при вызове утилиты ps из командной строки список, вероятно, потребуется заключить в кавычки.

Исходное множество процессов, выбранных опциями -a, -A или - d, пересекается с множеством процессов, выбранных опциями -g, -p, -t или -u, если указана любая из последних опций.

Если опции -a, -A или -d не указаны, утилита ps ведет себя так, как если бы была указана опция -u идентификатор_текущего_пользователя.

Управление выводом

Для управления содержимым и форматом выходных данных используется опция -o формат, которая в качестве параметров принимает любые спецификаторы полей, приведенные ниже. Все эти спецификаторы полей, за исключением %% и %a, имеют следующую форму:
Символ + означает принудительное выравнивание по правому краю; символ - означает принудительное выравнивание по левому краю. Если не указаны ни +, ни -, то для спецификатора используется выравнивание по умолчанию. Если для поля не указан аргумент заголовок, то выводятся пробелы (space). Символы квадратных скобок ("[" и "]") не являются частью спецификатора; с их помощью обозначены необязательные части спецификатора.

Спецификатор поля %a имеет следующую форму:
Необязательный аргумент ширина используется для ограничения длины строк, выводимых в этом поле.

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

Спецификаторы полей

%%

Литерал %.

%a

Строка, содержащая команду со всеми аргументами.

%b

Процесс, которым блокируется данный процесс.

%c

Строка с именем команды (значение argv[0]).

%C

Отношение потребленного времени процессора (%x) к доступному времени процессора, выраженное в процентах.

%d

Текущий рабочий каталог процесса.

%e

Начальная среда процесса.

%f

Флаги процесса.

%g

Реальный идентификатор группы процесса.

%G

Эффективный идентификатор группы процесса.

%p

Десятичное значение идентификатора процесса.

%P

Десятичное значение идентификатора родительского процесса.

%n

Десятичное значение понижения приоритета процесса (nice).

%N

Десятичное значение приоритета процесса.

%r

Десятичное значение идентификатора группы процессов.

%s

Десятичное значение идентификатора сеанса.

%S

Состояние процесса.

%t

В настройке локализации POSIX – полное истекшее время выполнения процесса в следующей форме:

[дд-]ЧЧ:ММ:СС

Поле дд не выводится, если его значение меньше одного дня.

%T

В настройке локализации POSIX – относительное время запуска процесса в следующей форме: Поле дд соответствует числу дней, которое прошло с момента запуска процесса до текущей даты (не выводится, если значение дд меньше одного дня).

%u

Реальный идентификатор пользователя процесса. Если идентификатор пользователя присутствует в файле /etc/passwd, то выводится текстовое имя пользователя; в противном случае выводится десятичный числовой идентификатор пользователя.

%U

Эффективный идентификатор пользователя процесса (см. %u).

%x

В настройке локализации POSIX – кумулятивное время ЦП для процесса в следующей форме: Поле дд не выводится, если его значение меньше одного дня.

%y

Если присутствует управляющий терминал, то выводится имя терминала, состоящее из идентификатора узла, за которым следует базовая часть путевого имени устройства.

%z

Размер процесса в (виртуальной) памяти в килобайтах, в формате десятичного целого числа. Разделяемый код или разделяемые сегменты не учитываются.

Примеры:

Эмуляция стандартного вывода команды ps из System V.

ps -o '%+"PID"p %+"TTY"y %+"TIME"t %+"COMMAND"C'

Статус завершения:

0

Завершено успешно.

>0

Возникла ошибка.