Содержание:
Вывод без опций
PS (process state) — стандартная утилита всех дистрибутивов Linux, используемая через консоль. Ее основное предназначение — отображение информации обо всех запущенных процессах. Количество и детально показываемых сведений зависит от установленных опций, которые выбираются при непосредственной активации самой команды. Об опциях мы поговорим немного позже, а сейчас давайте просто введем ps
в «Терминале» и нажмем на Enter.
Как видно на скриншоте ниже, отобразилось всего строки, среди которых находится оболочка bash и сам процесс рассматриваемой команды.
Конечно, здесь может быть еще несколько пунктов, что зависит от количества запущенных пользовательских программ, однако в большинстве случаев пользователей такой вывод не устраивает, поэтому мы и предлагаем перейти к изучению дополнительных опций.
Вывод списка всех процессов
Утилита PS без указания специальных опций не позволяет получить полезную информацию, которая может пригодиться во время изучения списка активных процессов, поэтому и важно применять аргументы. Первый из них отвечает за отображение абсолютно всех текущих задач, а строка принимает вид ps -A
.
В итоге отобразится огромное количество строк, с которыми следует разобраться. Делятся сведения на несколько столбцов. PID отображает идентификационный номер процесса и может использоваться, например, для быстрого завершения работы этой программы или проверки дерева задач. TTY — имя терминала, где запущен текущий процесс. TIME — время работы, а CMD — название команды задачи.
Дополнительно можно использовать команду ps -e
, чтобы отобразить список всех процессов, если предыдущий вариант вас не устраивает.
Как видно, выдача после активации опции -e получилась точно такая же, как и при вводе аргумента -A.
Существует формат вывода BSD, отвечающий за отображение связанных с пользователями процессов, а также отображает более детальные сведения о работе задач, нагрузке их на процессор и точное расположение. Для получения таких сведений следует использовать ps au
.
На указанном ниже изображении вы видите, что количество столбцов значительно прибавилось. В итоге к ознакомлению будет доступен полный список процессов с привязкой к учетной записи и отображением места расположения.
Полноформатный листинг
Рассмотренные выше примеры позволяли отобразить практически все необходимые сведения, которые могут быть полезны начинающим пользователям. Однако иногда требуется получить более детальный листинг, например, чтобы определить источник вызова процесса. Тогда на помощь придет строка такого вида: ps -ef
.
Отобразятся практически те же столбцы, о которых мы уже говорили ранее, но дополнительно появится детальная развертка о расположении и первый же пункт будет отвечать за источник вызова задачи.
Отображение пользовательских процессов
Опция -x отвечает за отображение процессов, которые были отсоединены от терминала, то есть запущены лично пользователем. Если вы хотите узнать, какие именно задачи были открыты от имени текущей учетной записи, в консоли достаточно будет ввести строку ps -x
и нажать на Enter.
Вывод будет максимально информативный, но без дополнительных сведений. Однако ничего не помешает задействовать и дополнительные опции, например, -eM
для показа контекста безопасности.
Если же требуется получить информацию о данных другого пользователя, измените строку на ps -fU lumpics
, где lumpics замените на необходимое имя.
В результатах вывода обратите внимание на первый столбец. Вы не найдете там других владельцев кроме указанного в команде до ее активации.
Фильтр по root
В каждом сеансе Linux имеется отдельный список задач, выполняемых с правами root. Если требуется отобразить только такие процессы, следует задать команду ps -U root -u root
и активировать ее нажатием на клавишу Enter.
При использовании команды в точности повторяющей ту, что выше, вывод не будет содержать строки с источником запуска, поскольку заранее известно, что это root, а все сведения показываются в максимально сжатом пользовательском виде. Здесь мы предлагаем задействовать упомянутые выше аргументы, чтобы расширить информацию.
Отображение групповых задач
Опытные пользователи знают, что некоторые процессы принадлежат к конкретной группе, то есть имеется главная задача и ее зависимости, формирующие общее древо. При необходимости отображения только строк, попадающих под данный критерий, задействуйте команду ps -fG 48
, где 48 — идентификатор группы (его можно заменить на название родительского процесса).
Отображение по PID
Из приведенных выше сведений вы уже знаете, что каждый процесс имеет свой PID, то есть определяющий его идентификатор. Если имеется желание выполнить поиск по конкретным PID, следует задействовать команду ps -fp 1178
, заменив число на требуемое. Имеется и критерий PPID. При определении такого формата строка обретает вид ps -f --ppid 1154
, с соответствующим изменением идентификатора на нужный.
Это были все основные примеры команды PS в Linux, о которых мы хотели поговорить в рамках сегодняшней статьи. К сожалению, объема одного руководства не хватит для того, чтобы детально описать взаимодействие со всеми доступными опциями и их комбинациями. Вместо этого мы предлагаем изучить официальную документацию команды, выполнив ps --help
, чтобы получить те подсказки, которые вы не нашли выше. Дополнительно на нашем сайте имеются развернутые описания основных команд рассмотренной операционной системы. Рекомендуем начинающим пользователям изучить их, чтобы быстрее освоиться в управлении консолью Линукс.
Читайте также:
Часто используемые команды в «Терминале» Linux
Команда ln / find / ls / grep / PWD в Linux
Спасибо. Того, что хотелось, сделать не получилось. Видимо, «не по Сеньке шапка».