Управление процессами (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 — локальная установка не требуется.
Все уроки этого курса
- Управление процессами (ps, top, kill)
- Перенаправление ввода и вывода (>, >>, <)
- Объединение команд в конвейер (|)
- Фоновые задания и управление заданиями