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

В Windows посмотреть запущенные процессы на сервере так же просто, как нажать ctrl+shift+esc, но в Linux это немного сложнее, поскольку Linux по умолчанию не имеет графического интерфейса и обычно им управляют через терминал. Узнайте, как отслеживать запущенные процессы в Linux, из нашей статьи ниже.

Что такое процесс в Linux

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

Процессы можно запускать как фоновые, к ним относятся, например, VPN, работающие в фоновом режиме, и как активные (foreground). Это может быть приложение, которым вы пользуетесь прямо сейчас. 

Linux славится своей последовательностью, поэтому у каждого процесса есть собственный идентификационный номер процесса (PID). 

Понимание того, что именно сейчас перегружает ваш сервер и как завершить процесс или понизить его приоритет, - важный шаг к стабильной работе сервера. 

Как вывести список всех процессов в Linux

Для этого есть три команды

ps

Даёт статический снимок процессов на вашем сервере.

top

Предоставляет сводку о состоянии системы в реальном времени: RAM, процент загрузки CPU, память SWAP, время работы процесса и т. д. 

htop

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

Знакомство с командой ps

Команда ps похожа на Диспетчер задач Windows, за исключением того, что она статична, то есть данные со временем не меняются, потому что это всего лишь снимок. Хотя содержимое может отличаться в разных UNIX-подобных ОС, обычно она показывает PID, имя терминала, время работы и команду, которая запустила процесс. Если использовать аргумент aux вот так:

ps aux

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

ps -A

Показывает все процессы, запущенные в системе (то же самое, что ps -e).

ps u

Использует ориентированный на пользователя формат, который показывает процент загрузки CPU, потребление RAM, владельца процесса и команду, которая его запустила.

ps x

Показывает процессы, запущенные не из терминала, например демоны и различные системные процессы, которые запускаются по умолчанию при загрузке системы.

Знакомство с командой top

Эта команда уже очень близка к тому, что предлагает Windows. Если вы хотите найти процесс, который чрезмерно потребляет ресурсы сервера, то это именно то, что вам нужно. Самый ресурсоёмкий процесс всегда будет наверху. 

Данные здесь не статичные, как в ps, а динамические и обновляются в реальном времени. Вот небольшая шпаргалка горячих клавиш. Внимание: регистр имеет значение!

  • k - завершает процесс
  • M -  сортирует список по использованию памяти.
  • N -  сортирует список по PID.
  • r -  изменяет приоритет процесса.
  • h - открывает окно справки.
  • z - показывает запущенные процессы в цвете.
  • d - изменяет интервал обновления.
  • c - показывает абсолютный путь процесса.
  • q - останавливает команду top.

Знакомство с командой htop

htop - это улучшенная версия команды top, которая позволяет использовать мышь, а это в некоторых случаях гораздо более быстрый способ выполнять рутинную работу по управлению сервером: прокрутку, клики и т. п. Также в ней есть цветовая кодировка, которая помогает выделять определённую полезную информацию и быстро понимать, что именно выведено. Если её нет на вашем сервере, вы можете быстро установить её командой:

sudo apt install htop

Обычно нужно указать процесс, который вы хотите завершить, но htop позволяет сделать это, просто кликнув по нужному процессу

Вот ещё одна шпаргалка горячих клавиш. 

  • F1 - открыть меню справки.
  • F2 - открыть настройки htop.
  • F3 - найти процесс.
  • F4 - отфильтровать процессы по имени.
  • F5 - показать процессы в виде дерева.
  • F6 - отсортировать процессы по любому столбцу.
  • F7 - понизить приоритет процесса.
  • F8 - повысить приоритет процесса.
  • F9 - завершить процесс.

Заключение

Как видите, это не кажется таким сложным, как работа с Диспетчером задач в Windows, просто выглядит иначе и требует немного другого подхода. Можем утверждать, что, поработав с ним какое-то время, вы начнёте думать, что Windows не так удобна в использовании, как Linux. Надеемся, эта статья была для вас полезной!



Blog