Фоновый режим выполнения заданий

Обычно пользователи вводят задания интерактивно с помощью команд обо- лочки, наблюдая на экране за ходом и результатами их выполнения.

В GNU/Linux можно запускать команды в фоновом режиме. Это позволяет пользователю выполнять несколько программ одновременно.

Только одно задание на терминале может работать в интерактивном режиме (foreground). Если на терминале имеются другие активные задания, то они выполняются в фоновом режиме (background).

Для запуска команды в фоновом режиме в конце командной строки необхо- димо поставить символ & (амперсанд). При запуске фонового задания выво- дится его номер (пример 5.2).

 

Пример 5.2. Запуск задания в фоновом режиме

 

#updatedb & [1]546

 

В примере 5.2 команда updatedb запущена в фоновом режиме, т. к. в конце командной строки установлен символ &. Номер задания выводится в квадрат- ных скобках, в этом примере — 1. Число, выводящееся после квадратных скобок, — PID процесса.

Для мониторинга состояний фоновых заданий предназначена команда jobs, которая позволяет просмотреть статус фоновых заданий. Она отображает но- мер задания, имя команды и статус задания (пример 5.3).

 

Пример 5.3. Команда jobs

 

#find ~basile –name "*core*" –user basile –exec rm –f {} \; & [1]548

#find ~anna –name "*core*" –user anna –exec rm –f {} \; & [2]551

#jobs

[1]-Done find ~basile –name "*core*" –user basile –exec rm –f {} \; [2]+Running find ~anna –name "*core*" –user anna –exec rm –f {} \;


 

В этом примере были запущены два задания на поиск и удаление файлов с подстрокой core в именах файлов, принадлежащих пользователям basile и anna. Заданиям назначены номера 1 и 2. Команда jobs показала, что зада- ние 1 выполнено, а задание 2 выполняется.

Обозначения %% и %+ указывают последнее запущенное фоновое задание, а % — предпоследнее задание. Аналогично, информация о заданиях, выводи- мых командой jobs, отображает символы + и – для индикации последнего и предпоследнего заданий.

Команда fg %номерзадания переводит задание с номером номерзадания в ин- терактивный режим. Так, команда fg %1 переводит задание с номером 1 в интерактивный режим.

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

<Ctrl>+<Z>, а затем выполнить команду bg с аргументом %номерзадания.

Можно указывать задания по первым символам их командной строки, пред- варяя их % (пример 5.4).

 

Пример 5.4. Обращение к фоновым заданиям по именам команд

 

#jobs

[2]+Running find ~anna –name "*core*" –user anna –exec rm –f {} \;

#fg %fi

 

В примере 5.4 выполняющееся в фоновом режиме задание было переведено в интерактивный режим командой fg %fi, которая использовала идентифи- кацию задания не по его номеру, а по двум первым буквам в имени команды.

Завершить фоновое задание можно командой kill %номерзадания (при-

мер 5.5).

 

Пример 5.5. Снятие фонового задания с выполнения

 

#jobs

[2]+Running find ~anna –name "*core*" –user anna –exec rm –f {} \;

#kill %2

#jobs

[2]+Terminated find ~anna –name "*core*" –user anna –exec rm –f {} \;

 

В примере 5.5 задание с номером 2 было завершено командой kill.


 








Дата добавления: 2015-06-12; просмотров: 942;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.