Команда bg в Linux
bgявляется одной из основных команд управления заданиями в системах Linux/Unix, полное название — "background". Её основная функция — переводить приостановленные в данный момент задания в фоновый режим для продолжения выполнения.
Базовые понятия
- Задание переднего плана: процесс, который выполняется в терминале и занимает ввод/вывод
- Фоновое задание: процесс, который выполняется в фоновом режиме терминала, не занимая ввод/вывод
- Управление заданиями: возможность управлять процессами переднего плана и фоновыми процессами
Синтаксис команды
bg [作业号]
Описание параметра
| Параметр | Описание |
|---|---|
| Без параметра | Действует на текущее задание (т.е. на последнее приостановленное задание) |
| Номер задания | Укажите номер задания, с которым нужно работать (можно посмотреть с помощьюjobsкоманды) |
Сценарии использования
1. Возобновление приостановленных заданий
Когда вы используетеCtrl+Zчтобы приостановить задание переднего плана, можно использоватьbgкоманду, чтобы продолжить его выполнение в фоновом режиме:
Пример
^Z # Нажмите Ctrl+Z, чтобы приостановить
[1]+ Остановлено sleep 100
$ bg # Пусть продолжит работу в фоновом режиме
[1]+ sleep 100 &
2. Возобновление с указанием номера задания
Если есть несколько приостановленных заданий, можно указать номер задания:
Пример
[1]- Остановлено vim file1.txt
[2]+ Остановлено python script.py
$ bg 2 # Пусть второе задание продолжит работу в фоновом режиме
3. Использование с командой fg
bgиfg(передний план) — это пара взаимодополняющих команд:
bg: Поместите задание в фоновый режим для выполненияfg: Верните задание на передний план для выполнения
Примеры практического применения
Сценарий: типичный рабочий процесс в разработке
Пример
$ vim app.py
# 2. Нужно временно запустить тесты (нажмите Ctrl+Z, чтобы приостановить vim)
^Z
[1]+ Остановлен vim app.py
# 3. Запустите тестовый скрипт
$ python test.py
# 4. После завершения теста верните редактор в фон, чтобы продолжить работу
$ bg 1
[1]+ vim app.py &
# 5. Просмотр фоновых заданий
$ jobs
[1]+ Выполняется vim app.py &
ЧАВО
Q1: Как проверить, какие задания сейчас выполняются?
Используйтеjobsкоманда:
Пример
[1]- Выполняется sleep 100 &
[2]+ Остановлено vim notes.txt
Вопрос 2: В чём разница между bg и &?
&: Помещает сразу в фоновый режим при запуске командыbg: Помещает уже приостановленные задания в фоновый режим
Вопрос 3: Что происходит с фоновыми заданиями bg после закрытия терминала?
По умолчанию фоновые задания будут завершены при закрытии терминала. Чтобы сохранить их, можно использовать:
Пример
Дополнительные советы
1. Использование вместе с disown
Отвяжите задание от терминала, чтобы оно не завершалось, даже если терминал будет закрыт:
Пример
^Z
$ bg
$ disown %1
2. Использование сокращений номеров заданий
%n: Номер задания n%str: Задание, начинающееся с str%?str: Задание, содержащее str
Пример
Сводная блок-схема

Освоениеbgкоманда может значительно повысить эффективность вашей работы в Linux, особенно когда вам нужно одновременно обрабатывать несколько задач. В сочетании сjobs、fgиkillи другими командами, вы можете достичь мощных возможностей управления заданиями.
Справочник команд Linux