Команда ps

Ps ax параметры запущенного процесса

В каждой операционной системе Linux (а также во всех системах, производных от UNIX, таких как BSD, Mac OS X и др.) присутствует команда ps, однако с годами появилось множество версий данной команды, незначительно отличающихся от начальной версии некоторыми параметрами. Поскольку команда ps появилась вместе с первыми системами UNIX, в ней используется нестандартный ввод параметров (например, в некоторых случаях вам потребуется использовать перед параметром знак дефиса).

Различные примеры команд, приведенные в данной главе и демонстрирующие способы использования команды ps, применимы как к Ubuntu, так и к большинству других систем Linux. Ниже представлено несколько примеров, которые вы можете использовать для отображения процессов текущего пользователя (в табл. 9.1 приведено описание отображаемых командой ps столбцов):

$ ps Отображает в консоли процессы текущего пользователя

PID TTY TIME CMD

2552 pts/0 00:00:00 bash 3438 pts/0 00:00:00 ps

$ ps – u chris Отображает все процессы, запущенные пользователем chris (стандартный вывод)

PID 2678 2689 2710

$ ps – u chris и Отображает все процессы, запущенные пользователем

Chris (с учетом использования CPU/MEM) USER PID SCPU SMEM VSZ RSS TTY STAT START TIME COMMAND chris 2678 0.0 0.0 4328 852 ttyl S+ Augl4 0:00 /bin/sh startx chris 2689 0.0 0.1 2408 488 ttyl S+ Augl4 0:00 xinit chris 2710 0.0 1.1 22016 496 ttyl S Augl4 0:06 gnome-session

$ ps – fu chris Отображает все процессы, запущенные пользователем

Chris (с учетом PPID) UID PID PPID С STIME TTY TIME CMD

Chris 2678 2645 0 Augl4 ttyl 00:00:00 /bin/sh /usr/XHR6/bin/startx

Chris 2689 2678 0 Augl4 ttyl 00:00:00 xinit /etc/Xll/xinit/xinitrc

Chris 2710 2689 0 Augl4 ttyl 00:00:09 /usr/bin/gnome-session

$ ps – Fu chris Отображает все процессы, запущенные пользователем

Chris (с учетом SZ и PSR) UID PID PPID С SZ RSS PSR STIME TTY TIME CMD

Chris 2678 2645 0 1082 852 0 Augl4 ttyl 00:00:00 /bin/sh startx Chris 2689 2678 0 602 488 0 Augl4 ttyl 00:00:00 xinit chris 2710 2689 0 5504 5440 0 Augl4 ttyl 00:00:09 gnome-session

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

Ниже показаны примеры использования команды ps для отображения каждого выполняемого в системе процесса:

$ ps auwx Отображает информацию о каждом выполняемом процессе в полном стиле BSD и расширенном формате

$ ps auwwx Выводит информацию о каждом выполняемом процессе в полном стиле BSD и неограниченной шириной

Некоторые процессы могут запускать собственные процессы. Например, вебсервер создает множество процессов httpd, которые ожидают запросов на сервере. Используя различные параметры команды ps, вы можете отображать процессы в иерархическом порядке (в виде дерева):

Показанные примеры демонстрируют различные способы отображения процессов в иерархическом порядке. Чтобы сравнить некоторые одинаковые процессы, отображающие различную информацию, текст выхода был сокращен. Стоит отметить, что PPID (ID порождающего процесса) является ID процесса, запустившего соответствующий дочерний процесс. Процессы sshd отображают запущенную ssd с вошедшим в систему через сеть пользователем и выполняют запуск консоли bash (и в конечном счете редактор vim). Демон httpd обеспечивает работоспособность веб-сервера Apache, в котором порождающий процесс запускается суперпользователем, а дочерние процессы — пользователем. В последнем примере приведена команда pstree, которая обычно используется для отображения дерева процессов.

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

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

$ top

Top – 01:39:43 up 4 days. 1:53. 6 users, load average: 1.25. 1.08. 1.11 Tasks: 119 total. 1 running. 117 sleeping, 0 stopped, 1 zombie Cpu(s): 46.8% us, 3.3% sy. 0.0% ni. 49.5% id. 0.0% wa, 0.3% hi. 0.0% si Mem: 482992k total. 472688k used. 10304k free. 24312k buffers Swap: 5863716k total. 534512k used. 5329204k free. 68072k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2690 root 15 0 344m 76m 7116 S 32.2 16.2 2349:08 X

2778 chris 15 0 16212 7992 4836 S 1.7 1.7 4:30.61 metacity

22279 chris 15 0 227m 109m 23m S 1.0 23.3 34:34.00 firefox-bin

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

$ top – d 5 Устанавливает время обновления равным 5 секундам

(по умолчанию 3)

$ top – u francois Отображает только процессы действительного

Пользователя francois $ top – р 190,2690 Отображает только процессе 190 и 2690 $ top – п 10 После десяти обновлений завершает выполнение команды

$ top – b Запускается в режиме, не рассчитанном на работу с экраном

В последнем примере (top – b) выход команды форматируется в подходящей для выхода файла форме, противоположной формирующейся при повторном выводе того же экрана для интерактивного просмотра. Данная команда может использоваться для создания журнала процессов, например для отслеживания процессов, потребляющих все ресурсы посреди ночи. С помощью следующей команды можно запустить команду top, фиксирующую информацию о процессах в течение десяти часов:

$ top – b – n 12000 > myprocesslog

Во время выполнения команды top вы можете обновлять и различными способами сортировать список процессов. Чтобы немедленно обновить список процессов, нажмите клавишу Пробел или Enter. Для сортировки процессов по их PID нажмите сочетание клавиш Shift+N, для сортировки процессов по потреблению процессорного времени — Shift+P, для сортировки по потреблению оперативной памяти — Shift+M, а для сортировки по времени потребления процессора — Shift+T. Чтобы изменить столбец для сортировки, используйте символы < (упорядочить столбец слева) и > (упорядочить столбец справа) или, указав букву столбца, по которой хотите отсортировать список, нажмите клавишу f, когда отобразится список столбцов.

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

Кроме того, с помощью программы top вы можете влиять на многие запущенные процессы. Чтобы отправить работающему процессу сигнал о его завершении, нажмите клавишу К и затем укажите PID процесса, которому хотите отправить сигнал. Затем для отправления другого сигнала укажите другое число или нажмите клавишу 9 для завершения действия. Чтобы увеличить или уменьшить приоритет процесса, нажмите клавишу N, а затем отрицательное число (для повышения приоритета) или положительное число (для уменьшения приоритета)

Чтобы получить более подробную информацию об использовании команды top, в ходе ее выполнения нажмите?. М AN-страница также содержит много полезной информации:

$ man top Отображает MAN-страницу, посвященную использованию команды top Для завершения выполнения команды top нажмите клавишу Q.

Поделиться новостью...

Отображение информации о запущенных процессах


Смотрите также:

Написать комментарий