...
Суббота , 16 ноября 2024

8.4.1. КОМАНДА PS

8.4.1. КОМАНДА PS

Когда я заглянул в man-страницу, посвященную команде ps, я был поражен, как много у нее разных опций. Как оказалось, GNU-версия этой программы, входящая в состав Linux, поддерживает опции в стиле трех разных типов UNIX. Опции в стиле Unix98 состоят из одного или нескольких символов, перед которым(и) должен стоять дефис. Опции в стиле BSD имеют аналогичный вид, только используются без дефиса. Опции, характерные только для GNU-версии представляют собой слово, перед которым должно стоять два дефиса. Их нельзя объединять, как однобуквенные опции двух предшествующих типов. Таким образом, существует три равноправных формата задания этой команды:

ps [-опции]

ps [опции]

ps [-- длинное_имя_опции [-- длинное_имя_опции]…]

При этом опции разных типов нельзя употреблять в одной команде. Дадим краткую характеристику наиболее важных опций.

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

• USER – имя владельца процесса;

• PID – идентификатор процесса в системе;

• PPID – идентификатор родительского процесса;

• %CPU – доля времени центрального процессора (в процентах), выделенного данному процессу;0 denezhniy potok

• %MEM – доля реальной памяти (в процентах), используемая данным процессом;

• VSZ – виртуальный размер процесса (в килобайтах);

• RSS – размер резидентного набора (количество 1K-страниц в памяти);

• STIME – время старта процесса;

• TTY – указание на терминал, с которого запущен процесс;

• S или STAT – статус процесса;

• PRI – приоритет планирования;

• NI – значение nice (см. описание команды nice ниже);

• TIME – сколько времени центрального процессора занял данный процесс;

• CMD или COMMAND – командная строка запуска программы, выполняемой данным процессом; а также и другие поля, полный список которых приведен на man-странице, посвященной команде ps.

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

• R – выполнимый процесс, ожидающий только момента, когда планировщик задач выделит ему очередной квант времени;

• S – процесс ‘спит’;

• D – процесс находится в состоянии подкачки на диске;

• T – остановленный процесс;

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

Рядом с указателем статуса могут стоять дополнительные символы из следующего набора:

• W – процесс не имеет резидентных страниц;

• ‹ – высоко-приоритетеный процесс;

• N – низко-приоритетный процесс;

• L – процесс имеет страницы, заблокированные в памяти.

Вторая группа опций регулирует то, какие именно процессы включаются в вывод команды. Чтобы получить список всех процессов надо использовать команду ps с опциями ax или -A. Вывод в этих двух случаях отличается только в поле CMD: в первом случае выдается полная командная строка запуска программы, а во втором – только имя запущенной программы.

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

Для того чтобы увидеть все процессы в системе, используя стандартную форму вывода:

[user]$ ps -e

Можно к той же команде добавить опцию -o, после которой указать через запятую, какие именно поля вы хотите видеть в выводе команды:

[user]$ ps -eo pid,user,cmd

Для того, чтобы увидеть все процессы в системе, используя форму вывода BSD-систем:

[user]$ ps ax

Для того, чтобы увидеть все процессы в системе, с применением графического отображения отношения ‘предок-потомок’:

[user]$ ps -ef

Впрочем, для того, чтобы увидеть ‘лес’ деревьев ‘предок-потомок’, лучше воспользоваться очень интересным аналогом команды ps -ef – командой pstree.

Для того, чтобы увидеть, сколько % ЦПУ и памяти занимают запущенные вами процессы:

[user]$ ps -u

Чтобы узнать приоритет процесса и значение nice, воспользуйтесь опцией -l:

[user]$ ps -l

8.4.2. КОМАНДА TOP

Команда ps позволяет сделать как бы ‘моментальный снимок’ процессов, запущенных в системе. В отличие от ps команда top отображает состояние процессов и их активность ‘в реальном режиме времени’. На рисунке 8.5 изображено окно терминала, в котором запущена программа top.
Рис. 8.5. Вывод команды top

Как видите, в верхней части окна отображается астрономическое время, время, прошедшее с момента запуска системы, число пользователей в системе, число запущенных процессов и число процессов, находящихся в разных состояниях, данные об использовании ЦПУ, памяти и свопа. А далее идет таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна: сколько строк помещается, столько и выводится. Графы таблицы обозначены так же, как поля вывода команды ps (см.разд. 8.4.1), так что дополнительных пояснений здесь не требуется.

Содержимое окна обновляется каждые 5 секунд. Список процессов может быть отсортирован по используемому времени ЦПУ (по умолчанию), по использованию памяти, по PID, по времени исполнения. Переключать режимы отображения можно с помощью команд, которые программа top воспринимает. Это следующие команды (просто нажимайте соответствующие клавиши, только с учетом регистра, то есть вместе с клавишей Shift):

• ‹Shift›+‹N› – сортировка по PID;

• ‹Shift›+‹A› – сортировать процессы по возрасту;

• ‹Shift›+‹P› – сортировать процессы по использованию ЦПУ;

• ‹Shift›+‹M› – сортировать процессы по использованию памяти;

• ‹Shift›+‹T› – сортировка по времени выполнения.

Кроме команд, определяющих режим сортировки, команда top воспринимает еще ряд команд, которые позволяют управлять процессами в интерактивном режиме. С помощью команды ‹K› можно завершить некоторый процесс (его PID будет запрошен), а с помощью команды ‹R› можно переопределить

О нас admin

Проверить еще

Backyard Landscape

Что такое быстровозводимые здания сегодня?

Желание жить только в самом безопасном и комфортном месте присуще каждому человеку, ведь это позволяет …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.