знак '&' в конце команды запускает её в фоне.
- Список задач, выполняющихся в фоне, возвращает команда
jobs
.
- Для того, чтобы вернуть задачу из фона,
fg %[номер-задачи]
- Для того, чтобы отправить текущую задачу в фон: Ctrl-z заморозит текущее приложение и вернет управление башу.
bg
разморозить приложение и продолжит его выполнение в фоне.
- Для того, чтобы остановить фоновую задачу,
kill %[номер-задачи]
Пример: в фоне ping каждые две секунды пингует localhost. Затем фоновые задачи последовательно убиваются.
user@server$ ping -i 2 -p 1 localhost > ping1.log &
[1] 42785
user@server$ ping -i 2 -p 2 localhost > ping2.log &
[2] 42840
user@server$ jobs
[1]- Running ping -i 2 -p 1 localhost > ping1.log &
[2]+ Running ping -i 2 -p 2 localhost > ping2.log &
user@server$ kill %1
user@server$ jobs
[1]- Terminated ping -i 2 -p 1 localhost > ping1.log
[2]+ Running ping -i 2 -p 2 localhost > ping2.log &
user@server$ kill %2
user@server$ jobs
[2]+ Terminated ping -i 2 -p 2 localhost > ping2.log
user@server$ jobs
user@server$
Пример перевода задачи из фона на передний план и обратно
user@server$ ping -i 2 -p 1 localhost > ping1.log &
[1] 44564
user@server$ fg %1
ping -i 2 -p 1 localhost > ping1.log
^Z
[1]+ Stopped ping -i 2 -p 1 localhost > ping1.log
user@server$ jobs
[1]+ Stopped ping -i 2 -p 1 localhost > ping1.log
user@server$ bg
[1]+ ping -i 2 -p 1 localhost > ping1.log &
user@server$ jobs
[1]+ Running ping -i 2 -p 1 localhost > ping1.log &
user@server$