Вывод без опций
PS (статус процесса) — стандартная утилита для всех дистрибутивов Linux, используемая через консоль. Его основное предназначение — отображать информацию обо всех запущенных процессах. Количество и детали отображаемой информации зависят от установленных опций, которые выбираются при непосредственной активации команды. Мы поговорим о параметрах чуть позже, а пока давайте наберем ps в Терминале и нажмем Enter.
Как вы можете видеть на скриншоте ниже, были отображены все строки, включая оболочку bash и процесс рассматриваемой команды.
Конечно, здесь может быть еще несколько моментов, которые зависят от количества запущенных пользовательских программ, но в большинстве случаев пользователей такой вывод не устраивает, поэтому мы предлагаем перейти к изучению дополнительных опций.
Вывод списка всех процессов
Утилита PS без указания специальных параметров не предоставляет никакой полезной информации, которая может оказаться полезной при изучении списка активных процессов, поэтому важно использовать аргументы. Первый отвечает за отображение всех текущих действий, и строка принимает форму ps -A.
В результате появится огромное количество строк, которыми нужно управлять. Информация разделена на несколько столбцов. PID отображает идентификационный номер процесса и может использоваться, например, для быстрого завершения этой программы или проверки дерева задач. TTY — это имя терминала, на котором выполняется текущий процесс. ВРЕМЯ — это время выполнения, а 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.
Читайте также:
Команды, часто используемые в Linux Terminal
Команда Ln / find / ls / grep / PWD в Linux