Поиск по сайту:

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


На этой странице

  1. Вывод списка процессов с помощью команды ps
  2. Поиск процесса с помощью pgrep
  3. Просмотр запущенных процессов с помощью верхней
  4. Просмотр запущенных процессов с помощью htop
  5. Заключение

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

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

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

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

ps -e

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

ps -e | more -15

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

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

Еще одна полезная опция ps — это опция -aux.

ps -aux

Как и в предыдущем варианте, здесь будут перечислены все процессы, запущенные в вашей системе. Но он также перечисляет текущее использование ЦП и ОЗУ для каждого процесса, а также команду, которая породила каждый процесс.

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

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

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

pgrep ssh

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

ps -e | grep 1143

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

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

top

Вывод сверху предоставляет нам много информации, включая общее использование ЦП и ОЗУ в нашей системе. Но были здесь для списка процессов, которые вы найдете прямо под этим.

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

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

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

  • PID: идентификатор процесса каждой задачи.
  • PR: приоритет планирования задачи.
  • NI: Хорошая ценность задачи. Отрицательные числа указывают на более высокий приоритет.
  • VIRT: объем используемой виртуальной памяти.
  • RES: объем используемой резидентной памяти.
  • SHR: объем используемой общей памяти.
  • S: статус задачи (R=выполняется, S=спящий).
  • %CPU: текущий процент использования ЦП задачей.
  • %MEM: текущий процент оперативной памяти, используемый задачей.
  • ВРЕМЯ+: процессорное время задачи.
  • КОМАНДА: команда, используемая для создания задачи.

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

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

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

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

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

Чтобы увидеть дополнительные возможности, нажмите клавишу h (справка), чтобы увидеть все, что может сделать top.

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

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

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

Дебиан и Убунту:

sudo apt-get install htop

CentOS и Fedora:

dnf install htop

Красная Шапка:

yum install htop

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

htop

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

Заключение

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

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