Использование команды PS в Linux

Вывод без опций

PS (process state) — стандартная утилита всех дистрибутивов Linux, используемая через консоль. Ее основное предназначение — отображение информации обо всех запущенных процессах. Количество и детально показываемых сведений зависит от установленных опций, которые выбираются при непосредственной активации самой команды. Об опциях мы поговорим немного позже, а сейчас давайте просто введем ps в «Терминале» и нажмем на Enter.

Использование команды PS в Linux без применения опций

Как видно на скриншоте ниже, отобразилось всего строки, среди которых находится оболочка bash и сам процесс рассматриваемой команды.

Результат использования команды PS в Linux без применения дополнительных опций

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

Вывод списка всех процессов

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

Использование команды PS в Linux для вывода всех процессов

В итоге отобразится огромное количество строк, с которыми следует разобраться. Делятся сведения на несколько столбцов. PID отображает идентификационный номер процесса и может использоваться, например, для быстрого завершения работы этой программы или проверки дерева задач. TTY — имя терминала, где запущен текущий процесс. TIME — время работы, а CMD — название команды задачи.

Результат использования команды PS в Linux для вывода всех процессов

Дополнительно можно использовать команду ps -e, чтобы отобразить список всех процессов, если предыдущий вариант вас не устраивает.

Альтернативная команда PS в Linux для вывода всех процессов

Как видно, выдача после активации опции -e получилась точно такая же, как и при вводе аргумента -A.

Результат использования альтернативной опции PS в Linux для вывода всех процессов

Существует формат вывода BSD, отвечающий за отображение связанных с пользователями процессов, а также отображает более детальные сведения о работе задач, нагрузке их на процессор и точное расположение. Для получения таких сведений следует использовать ps au.

Использование дополнительных опций команды PS в Linux для вывода в формате BSD

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

Результат использования дополнительных опций PS в Linux для вывода в формате BSD

Полноформатный листинг

Рассмотренные выше примеры позволяли отобразить практически все необходимые сведения, которые могут быть полезны начинающим пользователям. Однако иногда требуется получить более детальный листинг, например, чтобы определить источник вызова процесса. Тогда на помощь придет строка такого вида: ps -ef.

Использование дополнительных опций для полноформатного листинга PS в Linux

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

Результат использования опций для полноформатного листинга PS в Linux

Отображение пользовательских процессов

Опция -x отвечает за отображение процессов, которые были отсоединены от терминала, то есть запущены лично пользователем. Если вы хотите узнать, какие именно задачи были открыты от имени текущей учетной записи, в консоли достаточно будет ввести строку ps -x и нажать на Enter.

Использование опций команды PS в Linux для вывода пользовательских процессов

Вывод будет максимально информативный, но без дополнительных сведений. Однако ничего не помешает задействовать и дополнительные опции, например, -eM для показа контекста безопасности.

Результат вывода пользовательских процессов через команду PS в Linux

Если же требуется получить информацию о данных другого пользователя, измените строку на ps -fU lumpics, где lumpics замените на необходимое имя.

Использование опций команды PS в Linux для вывода процессов конкретного пользователя

В результатах вывода обратите внимание на первый столбец. Вы не найдете там других владельцев кроме указанного в команде до ее активации.

Результат вывода процессов определенного пользователя PS в Linux

Фильтр по root

В каждом сеансе Linux имеется отдельный список задач, выполняемых с правами root. Если требуется отобразить только такие процессы, следует задать команду ps -U root -u root и активировать ее нажатием на клавишу Enter.

Использование дополнительных опций команды PS в Linux для вывода root процессов

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

Результат вывода команды PS в Linux с опциями для рут процессов

Отображение групповых задач

Опытные пользователи знают, что некоторые процессы принадлежат к конкретной группе, то есть имеется главная задача и ее зависимости, формирующие общее древо. При необходимости отображения только строк, попадающих под данный критерий, задействуйте команду ps -fG 48, где 48 — идентификатор группы (его можно заменить на название родительского процесса).

Использование команды PS в Linux для вывода дерева процессов идентификатору

Отображение по PID

Из приведенных выше сведений вы уже знаете, что каждый процесс имеет свой PID, то есть определяющий его идентификатор. Если имеется желание выполнить поиск по конкретным PID, следует задействовать команду ps -fp 1178, заменив число на требуемое. Имеется и критерий PPID. При определении такого формата строка обретает вид ps -f --ppid 1154, с соответствующим изменением идентификатора на нужный.

Использование команды PS в Linux для вывода процессов по идентификатору

Это были все основные примеры команды PS в Linux, о которых мы хотели поговорить в рамках сегодняшней статьи. К сожалению, объема одного руководства не хватит для того, чтобы детально описать взаимодействие со всеми доступными опциями и их комбинациями. Вместо этого мы предлагаем изучить официальную документацию команды, выполнив ps --help, чтобы получить те подсказки, которые вы не нашли выше. Дополнительно на нашем сайте имеются развернутые описания основных команд рассмотренной операционной системы. Рекомендуем начинающим пользователям изучить их, чтобы быстрее освоиться в управлении консолью Линукс.

Читайте также:
Часто используемые команды в «Терминале» Linux
Команда ln / find / ls / grep / PWD в Linux

Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

ДА НЕТ

Поделиться статьей в социальных сетях:



Еще статьи по данной теме:


Задайте вопрос или оставьте свое мнение

Примечание: если отправленный комментарий не появился на странице, значит он ушел на проверку и скоро будет опубликован. Пожалуйста, не дублируйте вопрос. Мы ответим Вам в ближайшее время.