Обложка канала

Лига сисадминов

Здесь мы собираем всё, что может быть интересно представителям, пожалуй, лучшей в мире профессии: руководства, лучшие практики, свежие новости мира ИТ, книги, и многое другое.

Лига сисадминов

4 года назад
Открыть в
Запуск команд в фоновом режиме Синтаксис Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом: command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output & Примеры Чтобы перевести команду ls в фоновый режим, введите: $ ls *.py > output.txt & Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки: find . -iname "*.mp3" > myplaylist.txt & Как найти задания, работающие в фоновом режиме? Выполните следующую команду: jobs Пример вывода данных: [1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt & [2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt & Где [1] и [2] идентификаторы заданий. Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l: jobs –l Пример вывода данных: [1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt & [2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt & Чтобы отобразить только идентификаторы процессов, введите: jobs -p Пример вывода данных: 7307 7324 Как прекратить выполнение заданий, работающих в фоновом режиме? Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом: kill PID kill -15 PID kill -9 PID killall process-Name-Here killall -15 process-Name-Here killall -9 process-Name-Here Как переместить процесс из фонового режима в приоритетный? Синтаксис: %JOB-ID ИЛИ fg JOB-ID Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите: jobs -l Пример вывода данных: [1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt & [2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt & Чтобы перевести задание job id #2 в приоритетный режим, введите: %2 ИЛИ используйте команду: fg 2 Пример вывода данных: grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим: %2 & ИЛИ используйте команду: bg Теперь командное задание grep будет работать в фоновом режиме. #ит_заметки #linux #jobs