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

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

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

Системный администратор

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

  • Система под управлением Linux
  • Учетная запись с привилегиями root или sudo
  • Доступ к окну терминала / командной строке

Процессы в Linux

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

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

Примечание: Узнайте больше о завершении процессов Linux в нашем руководстве по уничтожению процессов в Linux.

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

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

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

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

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

ps [options]

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

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

Примечание: Ознакомьтесь с полным списком ps параметры команды с помощью man ps.

Запуск ps команда без каких-либо параметров дает результат, подобный следующему:

Запуск команды ps без каких-либо параметров

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

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

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

ps aux

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

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

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

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

ps -axjf

 

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

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

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

ps -U [real user ID or name] -u [effective user ID or name] u

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

ps -U phoenixnap -u phoenixnap u

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

Список запущенных процессов в Linux с помощью команды 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 не включают эту команду, установите ее с помощью:

sudo apt install htop

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

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

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

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

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

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

sudo apt install atop

В atop  команда создает вывод, похожий на:

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

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

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

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

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

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

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

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

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

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

pgrep [process name]

 

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

pgrep firefox

 

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

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

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

ps -e | grep 1439

 

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

После прочтения этого руководства вы сможете использовать pstophtop, and atop команды для вывода списка запущенных процессов в Linux и управления ими.

Используйте доступные параметры команды, чтобы настроить вывод и поведение команды.