PS(1)

НАЗВАНИЕ
ps - выдача информации о состоянии процессов

СИНТАКСИС


        ps  [-e] [-d] [-a] [-f] [-l] [-n файл_с_системой] [-t список_терминалов]

            [-p список_идентификаторов_процессов]

            [-u список_идентификаторов_пользователей]

            [-g список_идентификаторов_лидеров_групп]

ОПИСАНИЕ
Команда ps выдает информацию об активных процессах. По умолчанию информация дается только о процессах, ассоциированных с данным терминалом. Выводятся идентификатор процесса, идентификатор терминала, истраченное к данному моменту время ЦП и имя команды. Если нужна иная информация, следует пользоваться опциями.

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

Командой ps обрабатываются следующие опции:

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

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

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

-f
Генерировать полный листинг (см. ниже раз яснение смысла колонок).

-l
Генерировать листинг в длинном формате (см. ниже).

-n файл_с_системой
Считать, что операционная система загружена из файла_с_системой, а не из файла /unix.

-t список_терминалов
Выдавать информацию только о процессах, ассоциированных с терминалами из заданного списка_терминалов. Терминал - это либо имя файла-устройства, например ttyномер или console, либо просто номер, если имя файла начинается с tty.

-p список_идентификаторов_процессов
Выдавать информацию только об указанных процессах.

-u список_идентификаторов_пользователей
Выдавать информацию только о процессах с заданными идентификаторами или входными именами пользователей. Идентификатор пользователя выводится в числовом виде, а при наличии опции -f - в символьном.

-g список_идентификаторов_лидеров_групп
Выводить информацию только о процессах, для которых указаны идентификаторы лидеров групп. Лидер группы - это процесс, номер которого идентичен его идентификатору группы. Shell, запускаемый при входе в систему, является стандартным примером лидера группы.

При указании опции -f ps пытается определить имя команды и аргументы, с которыми был создан процесс, исследуя пользовательский блок процесса. Если это не удается, имя процесса выводится так же, как и при отсутствии опции -f, только заключается в квадратные скобки.

Ниже приводятся заголовки колонок выдачи и об ясняется смысл их содержимого. Буквы l или f в скобках означают, что эта колонка появляется соответственно при длинном или полном формате выдачи; отсутствие букв означает, что данная колонка выводится всегда. Отметим, что опции -l и -f влияют только на формат выдачи, но не на список процессов, информация о которых будет предоставлена.

F (l) Флаги (шестнадцатеричные), логическая сумма которых дает следующие сведения о процессе:
00 Процесс терминирован; элемент таблицы процессов свободен.
01 Системный процесс: всегда в основной памяти.
02 Процесс трассируется родительским процессом.
04 Родительский трассировочный сигнал остановил процесс; родительский процесс ждет [см. ptrace(2)].
08 Процесс не может быть разбужен сигналом.
10 Процесс в основной памяти.
20 Процесс в основной памяти; блокирован до завершения события.
40 Идет сигнал к удаленной системе.
80 Процесс в очереди на ввод/вывод.
S (l) Статус процесса:
O Активный: обрабатывается процессором.
S Спящий: ожидает завершения события.
R Готов: стоит в очереди на выполнение.
I Рождающийся: процесс создается.
Z Состояние "зомби": процесс завершен, но родительский процесс не ждет этого.
T Трассируемый: процесс остановлен сигналом, так как родительский процесс трассирует его.
X Растущий: процесс ожидает получения большего об ема основной памяти.
UID (f,l) Идентификатор владельца процесса; при указании опции -f выдается входное имя пользователя.
PID Идентификатор процесса (необходим для терминирования процесса).
PPID (f,l) Идентификатор родительского процесса.
C (f,l) Доля выделенного планировщиком времени ЦП.
STIME (f) Время запуска процесса (часы:минуты:секунды). Если процесс запущен более чем 24 часа назад, выдается месяц и день запуска.
PRI (l) Приоритет процесса; большее число означает меньший приоритет.
NI (l) Поправка к приоритету.
ADDR (l) Адрес процесса в памяти.
SZ (l) Размер (в блоках по 512 байт) образа процесса в памяти.
WCHAN (l) Адрес события, которого ожидает процесс. У активного процесса эта колонка пуста.
TTY Управляющий терминал (обычно - терминал, с которого был запущен процесс; см. ниже СЮРПРИЗЫ). Если такового нет, выдается символ ?.
TIME Истраченное процессом время ЦП.
COMMAND Имя программы; если указана опция -f, то выводится полное имя команды и ее аргументы.

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

ФАЙЛЫ


     /dev

     /dev/sxt/*

     /dev/tty*

     /dev/kmem     Виртуальная память ядра.

     /dev/mem      Память.

     /etc/passwd   Файл паролей, из которого берется  инфор-

		   мация об идентификаторах пользователей.

     /etc/ps_data  Внутренняя структура данных.

     /unix         Имя файла, откуда была загружена операци-

		   онная система.

СМ. ТАКЖЕ
acctcom(1), kill(1), nice(1). getty(1M) в Справочнике администратора.

СЮРПРИЗЫ
Во время выполнения команды ps положение вещей может измениться; таким образом, ps дает лишь хорошее приближение к действительности.

Некоторые сведения, относящиеся к процессам, отмеченным как , не соответствуют действительности.

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

Команда ps -ef может не отметить начало входа в систему, а вывести сведения о последнем запуске getty(1M) для данной терминальной линии.