Linux - запуск команд в фоновом режиме

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

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

Синтаксис команд

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

Примеры перевода команд в фоновый режим

В качестве примера мы рассмотрим перевод команды ls в фоновый режим введите следующую строку:

Используем символ «&» (перевод команды в фоновый режим) добавив его в конец строки:

Что делать, если вы хотите найти задачи, которые работают в фоновом режиме:

Используйте команду:

Пример:


Цифры вначале каждой строки являются идентификатором задания.
Теперь нам необходимо получить отображение идентификаторов процессов для соответствующих заданий (за исключением стандартных сведений). Передадим параметр –l:

Пример:



Для отображения только идентификаторов процессов, введите команду: jobs -p

Пример:



Остановка заданий запущенных в фоновом режиме

Есть два варианта завершения процесса – принудительное и постепенное. Для этого мы будем использовать команду kill и ее синтаксис выглядит следующим образом:



Перемещение процесса из фонового режима в приоритетный

Синтаксис:

ИЛИ

Выводим список текущих заданий:

Пример:



Переведем задание  job  с номером 2 в приоритетный режим:
ИЛИ 

Пример:



Также есть возможность совершить обратное действие при помощи сочетания двух клавиш – удерживая CTRL нажать клавишу Z. Ход выполнения приоритетного задания будет приостановлен. Используя оператор «%2 &» переведем задание в фоновый режим:

ИЛИ

Командное задание grep теперь работает в фоновом режиме.

Описание команд:

Описание Команда
Идентификация выполняемых заданий. jobs
jobs -l
ps aux
Перевод команды или скрипта в приоритетный режим. command &
/path/to/command &
/path/to/script arg1 &
Перевод фонового задания в приоритетный режим. fg n
%n
Перевод задания в фоновый режим без его отмены bg n
%n &

Последнее обновление: 07.12.2018