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

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

В этом учебнике мы рассмотрим различные команды Linux, которые можно использовать для списка и управления запущенными процессами.

Процессы в Linux

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

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

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

Чтобы составить список запущенных процессов, используйте команды ps, top, htop и atop Linux. Вы также можете комбинировать команду ps с командой pgrep для идентификации отдельных процессов.

Список запущенных процессов в Linux с помощью команды ps

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

Команда ps использует следующий синтаксис:

ps [опции].

Часто используемые опции команды ps включают:

  • a: Вывести список всех разрушающих процессов для всех пользователей.
  • -A, -e: Перечислить все процессы в системе.
  • -a: Перечислить все процессы, кроме лидеров сеансов (случаи, когда ID процесса совпадает с ID сеанса) и процессов, не связанных с терминалом.
  • -d: Перечислить все процессы, кроме лидеров сеансов.
  • --deselect, -N: Перечислить все процессы, кроме тех, которые удовлетворяют заданному пользователем условию.
  • f: Отображает иерархию процессов в виде ASCII-арта.
  • -j: Отображает вывод в формате заданий.
  • T: Перечислить все процессы, связанные с данным терминалом.
  • r: Вывести список только запущенных процессов.
  • u: Расширить вывод, чтобы включить дополнительную информацию, например, использование процессора и памяти.
  • -u: Определите пользователя, чьи процессы вы хотите перечислить.
  • x: Включить процессы без TTY.

Проверьте полный список опций команды ps с помощью man ps.

Выполнение команды ps без каких-либо опций дает результат, подобный этому:

Выполнение команды ps без каких-либо опций

Вывод по умолчанию включает следующие категории:

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

Использование комбинации опций a, u и x позволяет получить более подробный вывод:

Использование опций aux для расширения вывода команды ps

Новые категории расширенного вывода включают:

  • USER: Имя пользователя, запускающего процесс.
  • %CPU: Процент использования процессора.
  • %MEM: процент использования памяти.
  • VSZ: общее количество виртуальной памяти, используемой процессом, в килобайтах.
  • RSS: Размер резидентного набора, часть оперативной памяти, занимаемая процессом.
  • STAT: Текущее состояние процесса.
  • START: Время запуска процесса.

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

Отображение запущенных процессов в виде иерархического дерева с помощью команды ps

При использовании нескольких опций команды ps, содержащих символ тире ("-"), необходимо использовать только один символ тире перед перечислением опций. Например, чтобы использовать команду ps с опциями -e и -f, введите ps -ef.

Отфильтруйте список процессов по пользователю:

Например, покажем список процессов, запущенных пользователем apache:

Фильтрация вывода команды ps по пользователю

Список запущенных процессов в Linux с помощью команды top

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

Вывод команды top в Linux

Вывод команды top обновляется в реальном времени с трехсекундной частотой обновления по умолчанию. Вывод команды top содержит следующие категории:

  • PID: идентификационный номер процесса.
  • USER: Имя пользователя, запускающего процесс.
  • PR: Приоритет планирования для процесса.
  • NI: Хорошее значение процесса, отрицательные числа указывают на более высокий приоритет.
  • VIRT: Объем виртуальной памяти, используемой процессом.
  • RES: Объем резидентной (физической) памяти, используемой процессом.
  • SHR: Общий объем общей памяти, используемой процессом.
  • S: Статус процесса - R (запущен) или S (спит).
  • %CPU: Процент использования процессора.
  • %MEM: процент использования памяти.
  • TIME+: Общая сумма использования процессора.
  • COMMAND: Имя команды, которая запустила процесс.

Во время выполнения команды top используйте следующие опции, чтобы взаимодействовать с ней или изменить формат вывода:

  • c: Вывести абсолютный путь процесса.
  • d: Изменить частоту обновления вывода на заданное пользователем значение (в секундах).
  • h: Отобразить окно справки.
  • k: Завершить процесс, указав его PID.
  • M: Сортировать список по использованию памяти.
  • N: Сортировать список по PID.
  • r: Изменить приятное значение (приоритет) процесса, указав его PID.
  • z: Изменить цвет вывода для выделения запущенных процессов.
  • q: Выйти из командного интерфейса.

Опции для взаимодействия с командой top чувствительны к регистру. Убедитесь, что вы сначала отключили Caps Lock.

Список запущенных процессов в Linux с помощью команды htop

Команда htop предлагает те же результаты, что и команда top, но в более понятной и удобной форме.

Поскольку большинство дистрибутивов Linux не включают эту команду, установите ее с помощью:

Использование команды htop дает следующий результат:
Вывод команды htop в Linux

Для работы с командой htop используйте следующие клавиши:

  • Клавиши направления: Прокрутка списка процессов по вертикали и горизонтали.
  • F1: Открыть окно справки.
  • F2: Открыть настройку команды htop.
  • F3: Поиск процесса путем ввода его имени.
  • F4: Фильтр списка процессов по имени.
  • F5: Переключение между отображением иерархии процессов в виде отсортированного списка или дерева.
  • F6: Сортировать процессы по столбцам.
  • F7: Уменьшить значение nice (увеличить приоритет) процесса.
  • F8: Увеличить значение nice (уменьшить приоритет) процесса.
  • F9: Убить выбранный процесс.
  • F10: Выход из командного интерфейса.

Список запущенных процессов в Linux с помощью команды atop

Команда atop предоставляет более полный обзор запущенных процессов по сравнению с командой top. Начните с установки команды atop:

sudo apt install atop

Команда atop создает вывод, подобный следующему:

Вывод команды Linux atop

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

Нижний раздел содержит список запущенных процессов и содержит следующие категории:

  • PID: Идентификационный номер процесса.
  • SYSCPU: Использование процессора процессом во время работы с системой.
  • USRCPU: Использование процессора процессом при работе в пользовательском режиме.
  • VGROW: Объем виртуальной памяти, занятый процессом с момента последнего обновления вывода.
  • RGROW: Объем физической памяти, занятый процессом с момента последнего обновления вывода.
  • RUID: реальный идентификатор пользователя, запустившего процесс.
  • ST: Текущее состояние процесса.
  • EXC: Код выхода после завершения процесса.
  • THR: Количество потоков, используемых процессом.
  • S: Текущий статус основного потока процесса.
  • CPUNR: Количество процессоров, используемых процессом.
  • CPU: Процент ЦП, используемый процессом.
  • CMD: Имя команды, которая запустила процесс.

Использование команды atop со следующими параметрами изменяет формат вывода:

  • -a: Показывать только активные процессы.
  • -c: Показывать командную строку для каждого процесса.
  • -d: Показать информацию о диске.
  • -l: Показать общие значения как среднее за секунду.
  • -m: Показать информацию о памяти.
  • -n: Показать информацию о сети.
  • -s: Показать информацию о планировании процессов.
  • -v: Показать подробный вывод.
  • -y: Показать отдельные потоки.

Используйте следующие флаги для взаимодействия с командой atop:

  • a: Сортировать по наиболее активным ресурсам.
  • c: Сортировать по потреблению процессора.
  • d: Сортировка по дисковой активности.
  • m: Сортировка по использованию памяти.
  • n: Сортировка по сетевой активности.

Поиск идентификаторов процессов с помощью команды pgrep

Использование команды pgrep позволяет искать определенный процесс. Команда pgrep использует следующий синтаксис:

Например, используйте следующую команду для поиска процесса apache (httpd):

pgrep httpd

В выводе команды будет указан PID процесса:

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

 

Использование этого PID с командой ps позволяет получить больше информации о процессе. В этом примере использование PID 559 позволяет получить информацию о процессе firefox:

Поиск процесса с помощью команды ps и PID

Заключение

После прочтения этого руководства вы должны уметь использовать команды ps, top, htop и atop для списка и управления запущенными процессами в Linux. Используйте доступные опции команды для настройки вывода и поведения команды.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий