0Pricing
DevOps Bootcamp · Урок

Управление заданиями (bg, fg, jobs)

Освойте управление фоновыми и передними процессами: приостанавливайте, возобновляйте и просматривайте задания в сеансе оболочки.

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

Что такое управление заданиями?

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

Представьте, что это многозадачность в командной строке. Вы можете приостановить задачу, переместить её в фоновый режим или вернуть на передний план.

Передний и фоновый режимы

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

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

Приостановка процесса (Ctrl+Z)

Чтобы приостановить работающий передний процесс, используйте сочетание клавиш Ctrl+Z. Оно отправляет сигнал SIGTSTP, приостанавливая процесс.

Процесс не завершается: он становится «остановленной» задачей и ждёт, пока Вы укажете, что делать дальше.

Просмотр задач (jobs)

После приостановки процесса (или его отправки в фоновый режим) Вы можете просмотреть список всех активных задач в текущем сеансе оболочки с помощью команды jobs.

Каждая задача получает уникальный номер (например, [1], [2] и т. д.) и свой статус (например, Stopped, Running).

sleep 50 &
sleep 60 &
jobs

Возврат в передний режим (fg)

Если задача остановлена или выполняется в фоновом режиме, Вы можете вернуть её в передний режим с помощью команды fg, указав после неё номер задачи (например, %1).

После этого задача снова станет активным процессом в Вашем терминале.

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

Отправка в фоновый режим (bg)

Чтобы возобновить остановленную задачу и отправить её в фоновый режим, используйте команду bg с номером задачи.

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

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

Работа в фоновом режиме ( & )

Не всегда нужно запускать процесс в переднем режиме, а затем приостанавливать его. Вы можете сразу запустить команду в фоновом режиме, добавив амперсанд (&) в конец команды.

Это особенно удобно для длительных задач, с которыми не требуется взаимодействовать.

echo "Starting long task..." &
sleep 300 &
jobs

Номера задач и PID

При использовании jobs отображаются номера задач, например [1], [2]. Эти номера относятся только к текущему сеансу оболочки.

Каждый работающий процесс также имеет уникальный идентификатор процесса (PID) — номер, действующий во всей системе. Просмотреть PID можно с помощью команд jobs -l или ps.

sleep 100 &
jobs -l

Остановка задач (kill)

Чтобы завершить фоновую или остановленную задачу, можно использовать команду kill. Можно указать номер задачи (например, kill %1) или её PID (например, kill 12345).

Команда kill отправляет процессу сигнал. По умолчанию это SIGTERM (корректное завершение). Для принудительного завершения используйте kill -9 %job_number или kill -9 PID.

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

Тест: управление задачами

Вы запустили длительную команду (например, find / -name *.txt), но теперь Вам нужно освободить терминал, чтобы ввести другую команду. Какова правильная последовательность действий, чтобы приостановить команду find, отправить её в фоновый режим, продолжить выполнение и затем убедиться, что это фоновая задача?

Повторение: управление задачами

Вы освоили управление задачами!

  • Ctrl+Z приостанавливает процесс в переднем режиме.
  • jobs выводит список всех активных задач.
  • fg %N возвращает задачу N в передний режим.
  • bg %N отправляет остановленную задачу N в фоновый режим.
  • Добавление & запускает команду непосредственно в фоновом режиме.
  • kill %N или kill PID завершает задачу.

Это позволяет эффективно управлять несколькими задачами в одном сеансе терминала!

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

Урок «Управление заданиями (bg, fg, jobs)» бесплатный?

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

Чему я научусь в уроке «Управление заданиями (bg, fg, jobs)»?

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

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

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

Сколько времени занимает урок «Управление заданиями (bg, fg, jobs)»?

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

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

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

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

  1. Управление заданиями (bg, fg, jobs)
  2. Подстановка и раскрытие шаблонов в оболочке
  3. Псевдонимы и пользовательские приглашения
  4. Функции оболочки и повторно используемые фрагменты
← Назад к DevOps Bootcamp