Утилита PS в Linux для вывода процессов на экран

АМ
Александр Мельников
26 сентября 2019

Серверы с предустановленной ОС семейства Linux идут без графического интерфейса. Для работы и настройки используют терминал. Расскажем про одну из утилит, которая отвечает за просмотр процессов. В качестве примера рассмотрим Ubuntu Server 18.04.

Что такое PS

Системная утилита PS отвечает за отображение процессов на экране пользователя. Совместно с ней используются команды more, less и grep для фильтрации.

PS доступна в любом дистрибутиве серверной ОС Linux. Запускается через команду PS:

Скриншот №1. Утилита PS.

Где первый столбец означает идентификатор процесса (PID), второй – его наименование. Третий отображает процессорное время, затраченное сервисом, а четвертый – приложение, которое его запустило.

Синтаксис PS

Команда работает со следующими дополнительными ключами.

Ключ –e (-A). Выводит на экран перечень всех процессов, которые запущены на сервере.
ps –e

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

Ключ –N меняет значения опции с точностью до наоборот. Возьмем для примера предыдущий пункт. Если необходимо увидеть только лидеров, то после ключа D вводим N.
ps –d –N 

Для отображения сервисов, которые запущены в текущей терминальной сессии, используем букву T, а для просмотра только работающих в данный момент – r.

Сортировка

Рассмотрим возможности утилиты PS как фильтра. Если требуется отобразить информацию о конкретном сервисе, то указываем его идентификатор (PID).
ps 1721

Важно! Если требуется показать несколько процессов, то указываем PID каждого через запятую.

Администраторы не запоминают идентификаторы каждого процесса, но помнят наименования. Соответственно, для поиска конкретного сервиса указываем имя через специальный ключ.
ps –C bash

Другой способ сортировка – использовать имя группы. Для этого используется ключ –G или –Group.
ps --Group users 

Альтернативный вариант: совместить поиск по идентификатору группы. За это отвечает опция –g либо –group.

Важно! Ключи –G и –g отличаются только написанием: заглавная и прописная, но они выполняют разные функции.

Чтобы просмотреть перечень процессов, которые запустил конкретный пользователь, используем функцию –U.
ps –U name_user

, где user_name – учетное имя, для которого проводится выборка.

Важно! Если требуется отображать процессы, которые запустил пользователь, то берем его имя в прямые кавычки.

Дополнительные возможности

Как было показано выше, PS по умолчанию выводит краткую информацию о процессах. Чтобы получить подобное описание, используем ключ –eF.
ps –eF

Добавится информация о размере, который забирает сервис из оперативной памяти, временной интервал работы, идентификатор учетного имени, под которым запущен процесс и другие данные.

Чтобы финализировать информацию используют ключ --sort совместно с дополнительными опциями, которые проводят сортировку по значениям, например, %mem, cp, comm и др.
ps –eF --sort <option>

, где option – один из многочисленных ключей.

Подробная информация доступна в справочной службе команды PS.

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

Команда grep отбирает данные, которые содержат определенное слово, например:
Ps –eF | grep nginx

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

Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь