русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 784; Нарушение авторских прав


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

В 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.


 



<== предыдущая лекция | следующая лекция ==>
Процессы и задания | Жизненный цикл процесса


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.