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

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

Зная, как проверить наличие запущенных процессов, вы сможете проверить, запущено ли что-то, завершить его при необходимости и проследить за его влиянием на ресурсы вашей системы (CPU и RAM).

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

Команда ps может вывести список всех процессов, запущенных в системе Linux, с помощью опции -e.

ps -e

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

Обычно в системе в любой момент времени запущено большое количество процессов, поэтому проще просеять этот список, передав команду more. Например, чтобы увидеть 15 строк за раз:

ps -e | more -15

Вывод ps показывает нам каждый запущенный процесс, его соответствующий идентификатор процесса (сокращенно PID) и TTY (терминальный интерфейс, на котором запущен процесс). Вопросительный знак в колонке TTY означает, что процесс не подключен ни к какому терминальному интерфейсу — он просто работает в фоновом режиме.

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

Еще одной полезной опцией ps является опция -aux.

ps -aux

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

Список 15 процессов с дополнительной командой

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

Комманда pgrep как бы объединяет в себе ps и grep. Мы можем указать имя — или часть имени — процесса, который мы ищем, и pgrep вернет соответствующие идентификаторы процессов.

Например, чтобы найти любой процесс, связанный с SSH, в вашей системе, вы должны набрать:

pgrep ssh

Команда Linux pgrep

Как показано на скриншоте выше, pgrep обнаружил процесс SSH с PID 1143. Для дальнейшей проверки давайте проверим его с помощью команды ps:

ps -e | grep 1143

Поиск процесса ssh с помощью pgrep

Просмотр запущенных процессов с помощью top

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

top

Команда top в Linux

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

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

Используйте клавиши со стрелками на клавиатуре для прокрутки списка процессов вверх и вниз.

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

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

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

Нажмите кнопку z клавиша для цветового обозначения запущенных процессов. Так легче отличить запущенные задачи от спящих или зомби-процессов.

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

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

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

Нажмите кнопку k клавиша для уничтожения запущенного процесса прямо из верхней утилиты. Это позволяет сэкономить время, затрачиваемое на выход из утилиты и выполнение отдельной команды kill. Вам нужно будет ввести PID процесса, который вы хотите завершить:

Убийство процессов с помощью команды top

Нажмите кнопку r клавиша для изменения приоритета процесса с помощью renice. Введите PID процесса, который вы хотите переименовать:

Изменить приоритет процесса

Для получения дополнительных опций нажмите кнопку h (Справка), чтобы узнать, что еще может сделать top.

После завершения работы с утилитой top вы можете выйти из нее и вернуться в терминал, нажав клавишу q.

Просмотр запущенных процессов с помощью htop

Утилита htop создана на основе top и является более удобной и приятной на вид. Единственный недостаток — она не установлена по умолчанию во всех дистрибутивах Linux, поэтому вам может понадобиться сначала установить ее. Она должна быть в репозиториях вашей операционной системы, поэтому вот как установить ее с помощью менеджера пакетов:

Debian и Ubuntu:

sudo apt install htop

CentOS и Fedora:

dnf install htop

Red Hat:

yum install htop

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

htop

Просмотр процессов с помощью htop

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

Заключение

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

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

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

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