В Linux команда bg
переводит указанные задания в фоновый режим, как если бы они были запущены с &
.
Если задание не указано, используются данные текущего задания.
Содержание
Синтаксис
$ bg [задание ...]
Использование в Linux команды bg
Введение
Процесс перевода задачи в фоновый режим выполняется очень просто:
- для приостановки исполнения задачи используется сочетание клавиш CTRL+Z;
- для возобновления исполнения задачи уже в фоновом режиме следует выполнить приведённую выше команду
ping
.
В качестве идентификатора задачи могут использоваться:
- номер, присвоенный задаче командной оболочкой при остановке её исполнения, например,
%1
; - начало команды, например,
%ping
; - указание на текущую задачу, например,
%+
или%%
; - указание на предыдущую задачу, например,
%
.
Состояние выхода
Возвращает успех, если не включено управление заданиями или не произошла ошибка
Ознакомиться со списком задач командной оболочки и их идентификаторами можно воспользовавшись командой jobs
.
Простой пример
Запуск команды ping
в обычном режиме:
oleg@mobile:~:$ ping 139.162.132.20
PING 139.162.132.20 (139.162.132.20) 56(84) bytes of data.
64 bytes from 139.162.132.20: icmp_seq=1 ttl=52 time=37.8 ms
64 bytes from 139.162.132.20: icmp_seq=2 ttl=52 time=34.9 ms
64 bytes from 139.162.132.20: icmp_seq=3 ttl=52 time=38.0 ms
64 bytes from 139.162.132.20: icmp_seq=4 ttl=52 time=36.2 ms
64 bytes from 139.162.132.20: icmp_seq=5 ttl=52 time=46.0 ms
64 bytes from 139.162.132.20: icmp_seq=6 ttl=52 time=39.0 ms
...
Осуществляется отправка ping-пакетов на локальную систему через узловой сетевой интерфейс и приём ответов на них.
Остановка исполнения команды:
oleg@mobile:~:$ ping 139.162.132.20
PING 139.162.132.20 (139.162.132.20) 56(84) bytes of data.
64 bytes from 139.162.132.20: icmp_seq=1 ttl=52 time=37.8 ms
64 bytes from 139.162.132.20: icmp_seq=2 ttl=52 time=34.9 ms
64 bytes from 139.162.132.20: icmp_seq=3 ttl=52 time=38.0 ms
64 bytes from 139.162.132.20: icmp_seq=4 ttl=52 time=36.2 ms
64 bytes from 139.162.132.20: icmp_seq=5 ttl=52 time=46.0 ms
64 bytes from 139.162.132.20: icmp_seq=6 ttl=52 time=39.0 ms
^Z
[1]+ Остановлен ping 139.162.132.20
oleg@mobile:~:$
Для остановки исполнения команды использовалось сочетание клавиш CTRL+Z. В результате задаче был присвоен идентификатор %1
.
Выполняем проверку с помощью команды jobs
:
oleg@mobile:~:$ jobs
[1]+ Остановлен ping 139.162.132.20
oleg@mobile:~:$
Возобновляем исполнение задачи в фоновом режиме, используя начало команды в качестве идентификатора:
oleg@mobile:~:$ bg %ping
[1]+ ping 139.162.132.20 &
64 bytes from 139.162.132.20: icmp_seq=8 ttl=52 time=35.8 ms
64 bytes from 139.162.132.20: icmp_seq=9 ttl=52 time=36.3 ms
64 bytes from 139.162.132.20: icmp_seq=10 ttl=52 time=36.9 ms
64 bytes from 139.162.132.20: icmp_seq=11 ttl=52 time=52.9 ms
64 bytes from 139.162.132.20: icmp_seq=12 ttl=52 time=36.8 ms
64 bytes from 139.162.132.20: icmp_seq=14 ttl=52 time=34.4 ms
64 bytes from 139.162.132.20: icmp_seq=15 ttl=52 time=36.4 ms
64 bytes from 139.162.132.20: icmp_seq=17 ttl=52 time=54.1 ms
64 bytes from 139.162.132.20: icmp_seq=18 ttl=52 time=38.9 ms
64 bytes from 139.162.132.20: icmp_seq=19 ttl=52 time=38.8 ms
64 bytes from 139.162.132.20: icmp_seq=20 ttl=52 time=40.2 ms
64 bytes from 139.162.132.20: icmp_seq=21 ttl=52 time=37.4 ms
64 bytes from 139.162.132.20: icmp_seq=22 ttl=52 time=35.4 ms
64 bytes from 139.162.132.20: icmp_seq=23 ttl=52 time=38.5 ms
64 bytes from 139.162.132.20: icmp_seq=24 ttl=52 time=38.2 ms
64 bytes from 139.162.132.20: icmp_seq=25 ttl=52 time=39.9 ms
...
Можно было, конечно, использовать и такие идентификаторы, как %1
, %+
или %%
.
Перевод задачи в обычный режим командой fg
и завершение её исполнения:
oleg@mobile:~:$ fg %ping
ping 139.162.132.20
64 bytes from 139.162.132.20: icmp_seq=6 ttl=52 time=37.2 ms
64 bytes from 139.162.132.20: icmp_seq=7 ttl=52 time=37.9 ms
64 bytes from 139.162.132.20: icmp_seq=8 ttl=52 time=49.8 ms
64 bytes from 139.162.132.20: icmp_seq=9 ttl=52 time=40.9 ms
64 bytes from 139.162.132.20: icmp_seq=10 ttl=52 time=39.3 ms
64 bytes from 139.162.132.20: icmp_seq=11 ttl=52 time=37.9 ms
64 bytes from 139.162.132.20: icmp_seq=12 ttl=52 time=42.4 ms
64 bytes from 139.162.132.20: icmp_seq=13 ttl=52 time=41.9 ms
64 bytes from 139.162.132.20: icmp_seq=14 ttl=52 time=50.4 ms
64 bytes from 139.162.132.20: icmp_seq=15 ttl=52 time=34.9 ms
64 bytes from 139.162.132.20: icmp_seq=16 ttl=52 time=35.7 ms
64 bytes from 139.162.132.20: icmp_seq=17 ttl=52 time=35.4 ms
^C
--- 139.162.132.20 ping statistics ---
17 packets transmitted, 17 received, 0% packet loss, time 230035ms
rtt min/avg/max/mdev = 34.949/41.775/74.689/9.452 ms
oleg@mobile:~:$
Для завершения исполнения задачи использовалось сочетание клавиш CTRL+C.
Заключение
В этой короткой статье был приведён пример использования в Linux команды bg
. Многим начинающим администраторам эта простая команда будет безусловно полезна.