0Pricing
DevOps Bootcamp · Урок

Управление процессами (ps, top, kill)

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

«Управление процессами (ps, top, kill)» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Что такое процессы?

В Linux процесс — это экземпляр работающей программы. Каждая выполняемая Вами команда и каждое открытое приложение работают как один или несколько процессов.

  • Процессами управляет операционная система.
  • Понимание процессов важно для контроля состояния системы и устранения неполадок.

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

Команда ps (состояние процессов) используется для отображения информации о запущенных в данный момент процессах.

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

Подробная информация о процессах (`ps aux`)

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

  • ps aux: показывает все процессы, в том числе не связанные с терминалом.
  • ps -ef: показывает все процессы в полном формате списка.

Попробуйте выполнить ps aux и передать его результат команде head, чтобы увидеть первые несколько строк:

ps aux | head -n 5

Разбор вывода `ps`

Вывод команды ps aux содержит несколько важных столбцов:

  • USER: пользователь, которому принадлежит процесс.
  • PID: уникальный идентификатор процесса.
  • %CPU: процент использования CPU.
  • %MEM: процент использования памяти.
  • COMMAND: команда, запустившая процесс.

PID особенно важен для управления процессами.

Мониторинг в реальном времени с помощью `top`

Если ps предоставляет снимок состояния, то команда top показывает динамическое представление запущенных процессов в реальном времени.

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

Разбор показателей `top`

При запуске top вверху отображается сводка, а ниже — список процессов.

  • Load Average: средняя нагрузка на систему за 1, 5 и 15 минут.
  • Tasks: общее количество процессов, а также количество выполняющихся, спящих, остановленных процессов и процессов-зомби.
  • %Cpu(s): загрузка CPU.
  • Mem: общий объём, объём свободной, используемой и буферизованной памяти.
  • Process List: столбцы аналогичны ps, но список постоянно сортируется (по умолчанию — по загрузке CPU).

Поиск определённых процессов

Можно объединить ps с grep, чтобы отфильтровать определённые процессы, например найти все процессы, связанные с «bash».

Фрагмент grep -v grep исключает из результатов саму команду grep.

ps aux | grep -i "bash" | grep -v "grep"

Завершение процессов с помощью `kill`

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

Вам потребуется PID процесса, который нужно завершить.

Разбор сигналов `kill`

При использовании kill процессу отправляется «сигнал». Сигнал по умолчанию — SIGTERM (15): он просит процесс корректно завершить работу.

  • kill PID: отправляет SIGTERM.
  • kill -9 PID: отправляет SIGKILL. Это принудительное завершение, которое процесс не может проигнорировать. Используйте его осторожно!

Список всех доступных сигналов можно вывести с помощью kill -l:

kill -l

Практический пример `kill`

Давайте попрактикуемся в завершении простого фонового процесса. Мы запустим в фоне команду sleep, найдём её PID, а затем вы сможете использовать kill, чтобы её остановить.

Выполните приведённый ниже код. После его выполнения вы увидите PID процесса sleep. Затем вручную введите в терминале kill <PID>, заменив <PID> фактическим номером, чтобы остановить процесс.

# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."

# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"

# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345

Быстрая проверка: управление процессами

Вы научились выводить список процессов, отслеживать их и завершать. Давайте проверим, насколько хорошо вы усвоили материал.

Повторение: управление процессами

Отличная работа! В этом уроке вы освоили основные команды Linux для управления процессами:

  • ps: вывод списка процессов и получение снимка их состояния.
  • top: динамический мониторинг процессов и использования ресурсов системы в реальном времени.
  • kill: отправка сигналов процессам — главным образом для их корректного (SIGTERM) или принудительного (SIGKILL) завершения.

Эти инструменты необходимы для системного администрирования и устранения неполадок.

Часто задаваемые вопросы

Урок «Управление процессами (ps, top, kill)» бесплатный?

Да — полный текст урока «Управление процессами (ps, top, kill)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Управление процессами (ps, top, kill)»?

Научитесь просматривать список запущенных процессов, отслеживать их работу и завершать их, разбираясь в идентификаторах и состояниях процессов. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Управление процессами (ps, top, kill)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Управление процессами (ps, top, kill)
  2. Перенаправление ввода и вывода (>, >>, <)
  3. Объединение команд в конвейер (|)
  4. Фоновые задания и управление заданиями
← Назад к DevOps Bootcamp