Команда ps Linux

Для просмотра перечня процессов Linux принято использовать различные программы.

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

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

Так как Linux является многопользовательской системой, её программы могут быть запущены от лица различных пользователей. При этом ядру необходимо понимать, кто выполняет текущие действия и как-то различать юзеров. В связи с этим разработчики создали идентификатор PID, который присваивается каждому процессу в Линукс.

Синтаксис

Основные состояния текущих процессов:

  • Запуск;
  • Ожидание;
  • Остановлено;
  • Зомби.

Синтаксис команды ps выглядит следующим образом:

$ ps опции

$ ps опции | grep параметр

Опции утилиты :

  1. Чтобы выбрать все процессы, используется -A, -е, (а).
  2. Чтобы выбрать все процессы за исключением фоновых, используется -a.
  3. Чтобы выбрать все процессы, в числе которых есть даже фоновые, но отсутствуют процессы сессий, используется -d, (g).
  4. Чтобы выбрать все процессы, кроме указанных, используется -N.
  5. Чтобы выбрать все процессы по имени команды, используется -C.

Чтобы выбрать процессы по:

  • ID группы: -G.
  • PID: -p (p).
  • PID родительского процесса: --ppid.
  • ID сессии: -s.
  • TTY: -t (t).

Для того чтобы выбрать процессы юзера системы, применяется опция -u (U).

Зная синтаксис команды, и ознакомившись с её основными опциями, можно смело переходить от теории к практике.

Примеры

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

$ ps

Команда без аргументовЧтобы увидеть все активные процессы, выведенные на экран в общем формате системы, следует задать:

$ ps -A

Все активныеАльтернативный вариант команды для ввода в строке терминала:

$ ps -e

Для отображения процессов в формате BSD потребуется выполнить действие:

$ ps au

Полноформатный листинг задается так:

$ ps -eF

Пользовательские процессы выводятся на экран немного по-другому. Чтобы посмотреть все процессы, принадлежащие себе, необходимо ввести:

$ ps -x

Далее приведем пример вывода информации относительно процессов другого пользователя. В этом случае нужно воспользоваться его идентификатором. Что вводить в терминале:

$ ps -fU user

Разумеется, указанное имя пользователя «user» необходимо заменить актуальным. Также не стоит забывать о важности добавления флага -U. Внимательно повторите структуру данной команды.

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

$ ps -U root -u root

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

Например:

$ ps -fG 65

Вместо наименования «65» введите актуальные данные.

Дерево процессов

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

$ ps -e --forest

Как вывести поток процессов

Все потоки можно посмотреть при помощи команды данного вида:

$ ps -fL -C sshd

Зная PID процесса, можно найти его наименование. Это легко сделать, если ввести:

$ ps -p 1334 -o comm=

Благодаря использованию флага –C можно отобразить на экране сразу два типа процессов: родительский и дочерний. На практике это выполняется так:

$ ps -C systemd

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

$ ps -eM

Альтернативная вариация команды:

$ ps --context

ВАЖНО! Утилита ps является «родным» инструментом в Ubuntu. С её помощью можно увидеть только статическую информацию о процессах, происходящих в операционной системе. Зачастую этого достаточно для работы. Но если потребуются данные относительно обновляемого вывода, будет целесообразнее воспользоваться другими инструментами мониторинга.

Например:

  • top
  • htop
  • glances

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

code