0Pricing
DevOps Bootcamp · Урок

Фоновые задания и управление заданиями

Запускайте команды, не занимая терминал. Изучите фоновые задания, управление заданиями с помощью jobs/fg/bg и сохранение процессов после выхода из системы с помощью nohup.

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

Зачем нужны фоновые задания

Некоторые команды выполняются долго. Вместо блокировки терминала можно отправить их в фон и продолжить работу в той же оболочке.

Запуск в фоне

Добавьте & к команде, чтобы запустить её в фоне. Оболочка выведет номер задания и PID, а затем сразу вернёт приглашение.

sleep 300 &
[1] 4821

Просмотр заданий

Команда jobs выводит фоновые и остановленные задания текущей оболочки; у каждого в квадратных скобках указан номер.

jobs
[1]+  Running   sleep 300 &

Приостановка задания

Нажмите Ctrl+Z, чтобы приостановить команду, выполняющуюся на переднем плане. Она остановится (но не завершится), и приглашение вернётся.

^Z
[1]+  Stopped   nano notes.txt

Возобновление в фоне

bg возобновляет последнее остановленное задание в фоне, поэтому оно продолжает выполняться, пока вы работаете.

bg
[1]+ nano notes.txt &

Перевод на передний план

fg возвращает фоновое или остановленное задание на передний план. Чтобы выбрать конкретное задание, используйте fg %n.

fg %1   # bring job 1 to the foreground

Обращение к заданиям

Используйте %n, чтобы обращаться к заданию по номеру в таких командах, как fg, bg и kill.

kill %1   # terminate job number 1

Задания и PID

Номера заданий — это локальные для оболочки обозначения, а PID действуют во всей системе. Используйте номера заданий внутри своей оболочки, а PID — с системными инструментами, например kill, из другого терминала.

Сохранение задания после выхода с nohup

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

nohup ./long_task.sh > out.log 2>&1 &

Отсоединение задания

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

./task &
disown %1

Инструменты вроде screen и tmux

Для длительных или удалённых сеансов терминальные мультиплексоры вроде tmux или screen сохраняют целые сеансы активными и позволяют подключиться к ним снова после разрыва соединения.

Быстрая проверка

Проверьте своё понимание.

Итоги

Вы изучили управление заданиями: запуск с помощью &, просмотр с помощью jobs, приостановка с помощью Ctrl+Z, перемещение с помощью bg/fg и %n, а также сохранение задач после выхода из системы с помощью nohup, disown или tmux/screen.

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

Урок «Фоновые задания и управление заданиями» бесплатный?

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

Чему я научусь в уроке «Фоновые задания и управление заданиями»?

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

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

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

Сколько времени занимает урок «Фоновые задания и управление заданиями»?

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

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

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

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

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