Основы операционной системы UNIX



         

Получение информации о процессах


Для получения информации о состоянии процессов используется команда ps. Она имеет следующий синтаксис:

ps [-acdelfjLP]

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

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

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

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

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

Основные опции команды ps в системах SVR4 и BSD описаны в табл. 16.

Таблица 16. Опции команды ps

Опция Назначение
-a

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

-d

Предоставляет информацию обо всех процессах, исключая лидеров сеанса.

-e

Предоставляет информацию обо всех процессах.

-l

Генерирует длинный листинг.

-f

Генерирует полный листинг.

-g список

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

-G список

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

-p список

Предоставляет информацию по процессам с указанными идентификаторами.

-t список

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

-U список

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

-u список

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

Основные поля в результатах выполнения команды ps представлены в табл. 17.

Таблица 17. Основные характеристики процессов, предоставляемые командой ps

Заголовок Значение
ADDR

Адрес процесса в памяти.

С

Доля выделенного планировщиком времени ЦП.

COMD

Имя команды и аргументы (для опции -f).

F

Флаги (шестнадцатеричные), логическая сумма которых дает следующие сведения о процессе:

00 - процесс терминирован; элемент таблицы процессов свободен;

01 - системный процесс: всегда в основной памяти;

02 - процесс трассируется родительским процессом;

04 - родительский трассировочный сигнал остановил процесс; родительский процесс ждет [см. ptrace(2)];

08 - процесс не может быть разбужен сигналом;

10 - процесс в основной памяти;

20 - процесс в основной памяти; блокирован до завершения события;

40 - идет сигнал к удаленной системе;

80 - процесс в очереди на ввод-вывод.

NI

Поправка приоритета.

PID

Идентификатор процесса.

PPID

Идентификатор родительского процесса.

PRI

Текущий приоритет процесса.

S

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

B,W - процесс находиться в состоянии ожидания;

I - создание процесса;

O - процесс выполняется;

R - находиться в очереди готовых к выполнению процессов;

S - процесс не активен;

T - процесс трассируется;

X - ожидает дополнительной оперативной памяти;

Z - процесс "зомби".

STIME

Время запуска процесса.

SZ

Размер (в блоках по 512 байт) образа процесса в памяти.

TIME

Общее время выполнения для процесса

TTY

Терминальная линия процесса

UID

Идентификатор пользователя владельца процесса

WCHAN

Адрес события, которого ожидает процесс. У активного процесса этот столбец - пустой.

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

[kravchuk@arturo 15:59:30 /]$ ps PID TTY TIME CMD 3697 pts/14 0:00 bash [kravchuk@arturo 15:59:33 /]$ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 8 S 31061 3697 3679 0 51 20 e3110048 499 e31100b4 pts/14 0:00 bash [kravchuk@arturo 15:59:38 /]$ ps -p 5726 PID TTY TIME CMD 5726 pts/1 0:00 mc




Содержание  Назад  Вперед