29 марта, 2024

Как отобразить информацию о процессе в системе Linux с помощью команды ps

Хотите знать, какие процессы запущены на вашем компьютере под управлением Linux? Узнайте, как использовать команду ps.

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

Команда ps — один из таких инструментов, который отображает информацию, относящуюся к процессам в системе Linux. Давайте посмотрим на неё и некоторые важные примеры использования.

Что такое команда ps?

Процесс — основной компонент вычислений на Linux. Каждая открываемая вами программа выполняет один или несколько процессов, которые отвечают за работу компьютера. От продвинутого приложения редактирования видео до простой утилиты, такой как команда mv, всё состоит из процессов.

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

Как использовать команду ps в Linux

Базовый синтаксис команды ps:

ps [options]

Выполнение команды ps без аргументов даёт следующий результат:

ps

Следующая информация предоставляется в вышеупомянутых выходных данных.

  • PID: идентификатор выделенного процесса
  • TTY: отображает имя терминала, который вы используете
  • TIME: время, отведенное процессу процессором
  • CMD: команда, отвечающая за запуск процесса

Список всех процессов

Чтобы получить список всех процессов в системе Linux, используйте флаг -A или -e с командой ps.

ps -A

ps -e

Просмотр процессов, связанных с терминалом

Флаг -T отобразит список всех процессов, связанных с терминалом.

ps -T

Результат выглядит примерно так.

Отображение не связанных с терминалом процессов

Флаг -a перечислит процессы, которые не связаны с текущим терминалом.

ps -a

На экране отобразится результат.

Отмена указанных параметров

Вы также можете использовать флаг -N или —deselect с командой ps, чтобы инвертировать работу определённого аргумента.

Например, опция -T отображает связанные с терминалом процессов. Добавление флага -N или —deselect с командой покажет процессы, которые не связаны с текущим терминалом.

ps -T -N

ps -T --deselect

Отображение настраиваемых столбцов в выводе

Команда ps по умолчанию отображает следующие столбцы: PID, TTY, TIME и CMD. Однако вы можете настроить эти столбцы и вместо этого показать другие сведения.

Флаг -eo позволяет вам указать столбцы, которые вы хотите получить в выводе.

ps -eo pid, uname, pcpu, stime, pri, f

Переименование столбцов в выводе

Вы также можете переименовать метки столбцов в выводе. Это делается при помощи флага -o.

ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND

Список запущенных процессов

Чтобы получить список запущенных в настоящее время в системе процессов, передайте флаг -ax с командой ps. -A означает все (All).

ps -ax

Отображение процессов в формате BSD

В формате Linux для передачи аргументов с командой используется символ — (дефис). С другой стороны, формат BSD не включает никаких специальных символов с флагами аргументов.

Например, ps -A (формат Linux) отобразит список всех процессов. Эквивалент этой команды в BSD:

ps au

где a обозначает All (все), а u обозначает пользователей.

Полный формат списка процессов

Чтобы получить подробную информацию о процессах, передайте с командой параметр -ef или -eF.

ps -ef

ps -eF

Вышеупомянутый вывод содержит следующую информацию о процессах.

  • UID: идентификатор пользователя, ответственного за процесс
  • PID: идентификатор процесса записи
  • PPID: идентификатор родительского процесса
  • C: использование процессора и информация о расписании, связанная с процессом
  • STIME: время, когда процесс был запущен
  • TTY: имя терминала, который вы используете в данный момент
  • TIME: количество процессорного времени, используемого процессом
  • CMD: команда, которая выполнила процесс

Получение связанных с пользователем списка процессов

Параметр -u отображает список всех процессов, запущенных конкретным пользователем.

ps -u username

Показ связанных с корневым пользователем процессов

Чтобы отобразить все процессы, запущенные пользователем root, передайте root с флагами -U и -u.

ps -U root -u root

Получение PID процесса

Чтобы получить идентификатор конкретного процесса, используйте флаг -C с командой.

ps -C process-name

Замените process-name именем процесса. На выходе будет отображаться идентификатор процесса.

ps -C bash

Список потоков конкретного процесса

Возможно, вы знаете, что процесс может содержать несколько потоков, каждый из которых отвечает за конкретную задачу. Чтобы отобразить список потоков процесса, используйте флаг -L с командой ps. Обратите внимание, что вам нужно будет передать идентификатор процесса вместе с командой.

ps -L pid

Например

ps -L 1250

Отображение связанного с определённой группой процесса

Также легко получить список процессов, относящихся к определённой группе. Используйте флаг -fG с командой по умолчанию.

ps -fG groupname

В качестве альтернативы вы можете передать идентификатор группы вместо имени g-roup.

ps -fG groupid

Например

ps -fG sudoers

ps -fg 1000

Отображение процессов в формате дерева

Чтобы получить иерархическое древовидное представление запущенных процессов в Linux:

ps -f --forest -C bash

Вышеупомянутая команда отобразит все связанные с bash процессы.

Мониторинг запущенных процессов в Linux

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

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

Об авторе

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

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