JavaRush /Курсы /Docker SELF /Управление системными процессами: ps, top, htop

Управление системными процессами: ps, top, htop

Docker SELF
2 уровень , 4 лекция
Открыта

1. Команда ps — статический взгляд на процессы

Если бы Linux был рестораном, то процесс был бы шеф-поваром на кухне. Это исполняемый экземпляр программы, который существует в памяти. Когда вы запускаете приложение или исполнение файла из командной строки, создаётся процесс, который затем выполняет свои задачи до завершения.

С точки зрения программирования, процессы управляются ядром Linux, и у каждого из них есть уникальный идентификатор — PID (Process ID).

Команда ps (process status) — это базовая команда для просмотра списка процессов. Она даёт статический снимок текущих процессов в системе. Используя ps, можно получить информацию о запущенных процессах: их ID, хозяине (владельце), командной строке, использованных ресурсах.

Основной синтаксис

Вот как выглядит базовая команда:

ps

Это покажет процессы, запущенные в текущем терминале.

Но так скучно! Давайте добавим немного специй:

ps aux

Здесь:

  • a — показывает процессы других пользователей.
  • u — добавляет более удобный для чтения формат.
  • x — включает процессы, которые не привязаны к терминалу.

Пример вывода:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: пользователь, запустивший процесс.
  • PID: идентификатор процесса.
  • %CPU: процент использования CPU.
  • %MEM: процент использования памяти.
  • COMMAND: команда, вызвавшая процесс.

Расширенные опции

  1. Посмотрим древовидную структуру процессов:

    ps -ejH
    

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

  2. Фильтрация по PID:

    ps -p 1234
    

    Где 1234 — ваш PID. Выводит только указанный процесс.

  3. Вывод всех процессов вместе с полным коммандлайном:

    ps -ef
    

2. Команда top — динамический мониторинг процессов

top — это как телевизор для процессов. Вы можете наблюдать, как процессы меняются в реальном времени. Если вы запускаете сервер или ваш компьютер начал "тормозить", top — ваш лучший друг. Через него вы увидите, какие процессы едят больше всего CPU и памяти.

Основы использования

Просто введите в терминале:

top

Пример вывода:

  • Верхняя строка показывает "нагрузку" на систему.
  • Средняя часть сообщает о задачах (всего, активных, спящих, зомби).
  • Нижняя часть посвящена памяти.
  • Нижний блок — это список процессов, где много полезной информации, включая PID, USER, %CPU и COMMAND.

Навигация в top

  • Нажмите k, чтобы завершить процесс. Введите PID.
  • Нажмите P, чтобы отсортировать процессы по CPU.
  • Нажмите M, чтобы отсортировать по использованию памяти.
  • Нажмите q, чтобы выйти.

3. Утилита htop — удобный интерфейс

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

Установка

Если htop не установлен, добавьте его:

sudo apt-get install htop # Для дистрибутивов на основе Debian
sudo yum install htop     # Для дистрибутивов на основе RedHat

Запуск

Чтобы запустить htop, просто введите:

htop

Пример интерфейса:

Преимущества htop:

  • Возможность прокрутки списка процессов.
  • Выделение цветов для CPU, памяти, swap.
  • Удобные клавиши для завершения процессов (например, F9).

4. Практическое задание

Задача 1: Найдите самый "жадный" процесс

  • Откройте top или htop.
  • Отсортируйте процессы по CPU и узнайте его PID.

Задача 2: Завершите процесс

  • Используйте kill, чтобы "прибить" процесс:
    kill <PID>
    

Задача 3: Анализ процесса

  • Используйте ps для анализа PID процесса:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

Подводные камни и рекомендации

  1. Не убивайте процессы, если вы не уверены, что они не критичны для работы системы. Например, процесс с PID 1 — это init, основа ОС.
  2. Утилита htop должна быть установлена отдельно, если её нет. Если команда не запускается, проверьте установку.
  3. Будьте внимательны с правами. Завершение процессов, запущенных под другим пользователем, может потребовать прав администратора.

На практике вы увидите, что эти инструменты делают работу с Linux невероятно гибкой и наглядной. Теперь вы босс процессов!

1
Задача
Docker SELF, 2 уровень, 4 лекция
Недоступна
Просмотр текущих процессов
Просмотр текущих процессов
1
Задача
Docker SELF, 2 уровень, 4 лекция
Недоступна
Древовидная структура процессов
Древовидная структура процессов
1
Задача
Docker SELF, 2 уровень, 4 лекция
Недоступна
Определение самого ресурсоёмкого процесса
Определение самого ресурсоёмкого процесса
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ