9.2.5. Фоновый режим: команды jobs, fg, bg

9.2.5. Фоновый режим: команды jobs, fg, bg

В п.3.2 я уже говорил, что родительский процесс может либо ждать завершения дочернего, либо продолжать свое выполнение. Если в роли родителя выступает командная оболочка, то это значит, что процессы, запущенные с одной консоли (или виртуального терминала), распадаются на две группы: те, которых оболочка ждет, — они взаимодействуют с пользователем, занимая консоль, — и те, после запуска которых с пользователем взаимодействует сама оболочка (консоль свободна). Эти группы называются передним и задним планами.

Чтобы запустить процесс на заднем плане (в фоновом или асинхронном режиме), нужно завершить командную строку управляющим оператором &.

Подкоманды оболочки jobs, bg (background) и fg (foreground) позволяют манипулировать заданиями, выполняющимися на переднем и заднем планах:

? Команда jobs выводит список процессов, которые выполняются в фоновом режиме,

fg <номер_задания> переводит процесс на передний план,

bg <номер_задания> — переводит процесс на задний план.

Номер задания — это не PID, а число, которое команда jobs выводит в квадратных скобках. С ключом -I она будет выводить, кроме того, и PID процесса.

Поскольку перечисленные команды — не самостоятельные утилиты, а подкоманды bash, справку по ним нужно запрашивать так: help <подкоманда>.

Данный текст является ознакомительным фрагментом.