Нюансы запуска команды через фоновый режим Linux
В инструкции будет рассказано, как прописать те или иные команды через фоновый режим и напрямую использовать интерфейс командной строки.
Фоновый процесс – это любые команды, работа которых была запланирована юзером в принудительном порядке. Такие действия не будут отображаться на мониторе и не заметны рядовому пользователю. Яркий пример процесса – сервер Apache, обслуживающий веб-страницу, а также скрипты оболочек ПО и команды.
Правила синтаксиса
Работу многих команд, задач и скриптов возможно перестроить под фоновый процесс одним добавлением символа «&». Амперсанд следует поставить в командную строку в самый конец функции. После чего он быстро перенесет скрипты и освободит немного свободного места.
Те скрипты, которые будут работать через фоновый режим, называются заданиями. Синтаксис для их выполнения будет иметь такой вид:
Как это выглядит
Рассмотрим простой пример перевода некоторой команды ls:
Для перевода последующего поискового скрипта нужно будет добавить амперсанд после всего выражения:
Обнаружение заданий, работающих через фоновые процессы
Чтобы найти команды и скрипты, которые были переведены в фоновый режим, понадобится команда:
К примеру:
В этом выражении [1] и [2] являются идентификаторами задания. Для их дальнейшего отображения через идентификатор процесса нужно будет ввести -l:
К примеру:
Если нужно показать только идентификатор процесса, следует написать:
К примеру:
Удаление скриптов, функционирующих через фоновый режим
Если юзеру понадобилось постепенно или принудительно завершить фоновый процесс одной из задач, следует воспользоваться командой «kill»:
Перемещение фонового процесса на место приоритетного
Для выполнения перемещений используется:
Либо
Поначалу выводятся все текущие фоновые процессы при помощи синтаксиса:
К примеру:
Перевод задания со вторым идентификатором осуществится благодаря команде:
Как можно вывести данные:
Если потребуется приоритетные задания сделать снова фоновыми, достаточно будет удерживать «CTRL» и одновременно нажать «Z». Все работающие приоритетные задачи будут остановлены на некоторое время.
Возвращение к фоновому режиму будет проводиться так:
Таким образом «grep» вернется к фоновому режиму.
Наиболее полезные команды
Описание | Команда |
Покажет все выполняемые задания, а также их идентификаторы | jobs jobs -l ps aux |
Переведет команду или скрипт для работы в приоритетном режиме | command & /path/to/command & /path/to/script arg1 & |
Переведет фоновое задание для работы в приоритетном режиме | fg n %n |
Переведет команду обратно к фоновому режиму, не запрашивая его отмену | bg n %n & |
Под «n» подразумевается идентификационный номер заданий, он выводится при выполнении команды «jobs».