Linux Labs

Пользователи, права, процессы / Ступень 11 из 13

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

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 7 · на машине · 6 мин

Пауза и возврат

Команду на переднем плане можно поставить на паузу и вернуть, не начиная её заново.

Упражнение · посмотреть

Ctrl+Z, jobs и fg

Запусти sleep 700 — приглашение пропадёт. Нажми Ctrl+Z и выполни jobs -l. Потом верни ожидание командой fg и прерви его клавишами Ctrl+C.

Сначала предположи

Что станет с sleep 700 после Ctrl+Z?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

Ctrl+Z посылает команде переднего плана сигнал остановки. Процесс замирает в состоянии T, как --blog в прошлом уроке, а оболочка возвращает приглашение. Задание остаётся в таблице, и его можно продолжить:

Команда Что делает с заданием
fg продолжает на переднем плане, терминал снова занят
bg продолжает в фоне, приглашение остаётся у тебя

Ctrl+C прерывает команду переднего плана, и процесс завершается. Команду переднего плана ps отмечает знаком + в столбце STAT: у ps в прошлых выводах стояло R+.

Проверь себя 1 вопрос

Долгая выгрузка заняла терминал. Ты нажал Ctrl+Z, затем выполнил bg. Что покажет jobs?

  • Терминал снова занимает fg. После bg задание работает в фоне, и приглашение остаётся у тебя.

  • bg продолжает остановленное задание в фоне, и jobs показывает Running. Stopped осталось бы после одного Ctrl+Z.

  • bg ничего не перезапускает: задание остаётся в таблице с тем же номером и PID.

Ctrl+Z ставит выгрузку на паузу, а bg продолжает тот же процесс в фоне. Задание снова Running, терминал свободен.

Ubuntu 24.04
Загрузка…