Приемы профессиональной работы в UNIX



             

УПРАВЛЕНИЕ ВРЕМЕНЕМ - часть 3


Команда at дает нам возможность собирать несколько команд в одно целое и впоследствии запускать их. Когда они выполняются, их вывод может либо идти на экран, либо перенаправляться в определенный файл. Командная строка принимает два параметра: время выполнения и командную строку, которую следует выполнить. Время выражено в формате час:минута. Час должен быть указан строкой из двух цифр (в диапазоне от 0 до 23 часов), так как его использует команда date. Использование того же стандарта, что и в команде date, значительно упрощает команду at. В качестве второго параметра может быть любая команда, которую обычно можно ввести в командной строке интерпретатора shell. Можно также использовать конвейеры, составные команды и переназначения. Нет ограничений на то, какая команда может быть выполнена. Команда at может запустить обычный исполняемый модуль UNIX или ваш собственный командый файл.

Выход at по умолчанию направляется в стандартный вывод. Стандартным выводом в данном случае является экран терминала. Команда at в системе Berkeley не имеет вывода по умолчанию, что несколько затрудняет получение результата и отправку его на экран.

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

Порождение большого количества фоновых процессов может иметь отрицательный эффект для системы. Каждая фоновая задача - это цикл while интерпретатора shell, который работает очень медленно. Когда много фоновых процессов, мало времени центрального процессора остается на другие цели. В результате производительность системы ухудшается. В больших системах это, вероятно, не проблема, если только система не загружена множеством пользователей, но вы должны использовать это средство с осторожностью.

Отметим, что формат час:минута годится только для одного полного дня. Данная программа at задумана как ежедневная и не имеет средств запуска в определенный день или месяц, хотя вы можете легко расширить ее, как только поймете, как читается и используется информация о времени.

ПРИМЕРЫ




Содержание  Назад  Вперед