-d Все текущие процессы за исключением лидеров сеанса
T
(Linux) Все процессы, связанные с данным терминаломa
(Linux) Все процессы, включая процессы остальных пользователейr
(Linux) Только выполняющиеся процессыТаблица
3 .2. Общие заголовки, используемые для утилиты ps в средах Solaris/LinuxUSER, UID
Пользовательское имя владельца процессаPID
ID процессаPPID
ID родительского процессаPGID
ID лидирующего процесса в группеSlD
ID лидера сеанса%CPU
Коэффициент использования времени ЦП (в процентах) процессомв течение последней минуты
RSS
Объем реального ОЗУ, занимаемый процессом в данный момент (в Кбайт)%MEM
Коэффициент использования реального ОЗУ процессом в течение последней минутыSZ
Размер виртуальной памяти, занимаемой данными и стеком процесса (в Кбайт или страницах)WCHAN
Адрес события, в ожидании которого процесс пребывает в состоянии ожиданияCOMMAND
Имя команды и аргументыCMD
TT, TTY
Управляющий терминал процессаS, STAT
Текущее состояние процессаTIME
Общее время ЦП, используемое процессом (HH:MM:SS)STIME, START
Время или дата старта процессаNI
Фактор уступчивости процессаPRI
Приоритет процессаС, CP
Коэффициент краткосрочного использования ЦП для вычисления планировщиком значения PRIADDR
Адрес памяти, выделенной процессуLWP
ID потокаNLWP
Количество потоковВ следующий список включены командные опции, которые используются для управления отображаемой информацией о процессах:
– f
полные распечатки– -l
в длинном формате– - j
в формате заданияПриведем пример использования утилиты ps
в средах Solaris/Linux:ps -f
По этой команде будет отображена полная информация о процессах, которая выводится по умолчанию в каждой среде. На рис. 3.7 показан результат выполнения этой команды в среде Solaris. Командные опции можно использовать тандемом (одна за другой). На рис 3 7 также показан результат совместного использования опций -l и -f в среде Solaris:
ps -lf
Командная опция l позволяет отобразить дополнительные заголовки: F, S, С, PRI, NI
, ADDR и WCHAN. При использовании командной опции P отображается заголовок PSR, означающий номер процессора, которому назначается (или за которым закрепляется) процесс.$ ps -f
UID PID PPID C STIME TTY TIME CMD
cameron 2214 2212 0 21:03:35 pts/12 0:00 -ksh
cameron 2396 2214 2 11:55:49 pts/12 0:01 nedit
$ ps -lf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
8 S cameron 2214 2212 0 51 20 70e80f00 230 70e80f6c 21:03:35 pts/12 0:00 -ksh
8 S cameron 2396 2214 1 53 24 70d747b8 843 70152aba 11:55:49 pts/12 0:01 nedit
Рис. 3.7. Результат выполнения команд ps -f
и ps -lf в среде SolarisНа рис. 3.8 показан результат выполнения утилиты ps с использованием командных опций Tux в среде Linux. Данные, выводимые с помощью заголовков %CPU, %MEM
и STAT, отображаются для процессов. В многопроцессорной среде с помощью этой информации можно узнать, какие процессы являются доминирующими с точки зрения использования времени ЦП и памяти. Заголовок STAT отображает состояние или статус процесса. Ниже приведены символы, обозначающие статус, и дано соответствующее описание. Заголовок STAT позволяет узнать дополнительную информацию о статусе процесса.D
(BSD) Ожидание доступа к дискуP
(BSD) Ожидание доступа к страницеX
(System V) Ожидание доступа к памятиW
(BSD) Процесс выгружен на дискК
(AIX) Доступный процесс ядраN
(BSD) Приоритет выполнения понижен>
(BSD) Приоритет выполнения повышен искусственно<
(Linux) Процесс с высоким приоритетомL
(Linux) Страницы заблокированы в памятиЭти символы должны предшествовать коду статуса. Например, если перед кодом статуса стоит символ N,
значит, процесс выполняется с более низким уровнем приоритета. Если код статуса процесса отображен символами SW<, это означает, что процесс пребывает в ждущем режиме, выгружен и имеет высокий уровень приоритета.Установка и получение приоритета процесса
Уровень приоритета процесса можно изменить с помощью функции nice . Каждый процесс имеет
Синопсис
#include