Linux. Как запустить процесс в фоне

Как правило, выполнение команд в терминале связано с одним неудобством — прежде чем приступить к вводу следующей команды, следует дождаться выполнения предыдущей. Это происходит, поскольку текущий процесс блокирует доступ к оболочке операционной системы и в таких случаях говорят, что команда выполняется на переднем плане. Что же делать, если нужно запустить несколько команд одновременно? Есть несколько решений. Первое и наиболее очевидное — открыть дополнительное окно терминала. Второе — инициировать выполнение команды в фоновом режиме.

КАК ЗАПУСТИТЬ ПРОЦЕСС В ФОНЕ LINUX

Для выполнения команды в фоновом режиме достаточно добавить в конце символ амперсанда (&):

command &

В выводе терминала будут отображены порядковый номер задачи (в квадратных скобках) и идентификатор процесса:

В фоновом режиме можно одновременно запускать сразу два, три, четыре процесса и даже больше.

Работая в фоновом режиме, команда все равно продолжает выводить сообщения в терминал, из которого была запущена. Для этого она использует потоки stdout и stderr, которые можно закрыть при помощи следующего синтаксиса:

command > /dev/null 2>&1 &

Здесь >/dev/null 2>&1 обозначает, что stdout будет перенаправлен на /dev/null, а stderr — к stdout.

Узнать состояние всех остановленных и выполняемых в фоновом режиме задач

Узнать состояние всех остановленных и выполняемых в фоновом режиме задач в рамках текущей сессии терминала можно при помощи утилиты jobs c использованием опции -l:

jobs -l

Вернуть процесс из фонового режима на передний план

В любое время можно вернуть процесс из фонового режима на передний план. Для этого служит команда fg:

fg

Если в фоновом режиме выполняется несколько программ, следует также указывать номер. Например:

fg %1

Завершение фонового процесса

Для завершения фонового процесса применяют команду kill с номером программы:

kill %1

Ссылки

https://losst.ru/kak-zapustit-protsess-v-fone-linux

Оставьте ответ

Ваш адрес email не будет опубликован.

48 ÷ 12 =