Bash: выполнение команд в фоне

Bash logo Scripts

Некоторые команды Bash могут выполняться в течение длительного времени, так же возможен сценарий параллельной обработки, когда одна команда записывает данные в файлы, вторая их обрабатывает. В любом случае, нет необходимости ждать завершения работы команд или сценариев.

Вместо этого можно запустить любую команду (сценарий) в фоновом режиме, используя оператор &. Сценарий будет выполнятся дальше, но при этом у нас будет возможность использовать оболочку. Конечно никто не запрещает запустить несколько подключений или переключится между терминалами.

Для примеру запустим ping в фоновом режиме.

При работе в фоне необходимо перенаправлять вывод, иначе все сообщения будут писаться прямо в терминал и прерывая действия в терминале. Если конечно этого не требуется.

Cимвол & отправляет задания в фоновый режим, но стоит обратить внимание что &> символ перенаправленния вывода и ошибок

Что бы посмотреть список зада, которые сейчас выполняются в фоне, используем команду jobs

Для переключения на задачу (вывести ее из фона), используем команду fg, с номером фонового задания

Если задача сейчас находится в приоритетном режиме, ее можно поставить на пузу (приостановить) сочетанием клавиш CTRL+Z

Для возобновления работы задачи используем команду bg с номером задачи

Avatar for Gnostis
Gnostis
Добавить комментарий