sleep — приостановить выполнение на указанный интервал времени

НАЗВАНИЕ

sleep — приостановить выполнение на указанный интервал времени

СИНТАКСИС

sleep seconds

ОПИСАНИЕ

Команда sleep приостанавливает выполнение по крайней мере на seconds

секунд.     Если команда sleep получает сигнал, она выполняет стандартное действие.

ОСОБЕННОСТИ РЕАЛИЗАЦИИ

В данной реализации сигнал SIGALRM никаким специальным образом не обраба   тывается.Команда sleep допускает указание дробного числа секунд (с символом `.’ в   качестве десятичной точки).  Это нестандартное расширение функциональности, и его использование может привести к тому, что командный сценарий  будет выполняться некорректно на другой системе.

СТАТУС ЗАВЕРШЕНИЯ

Утилита sleep возвращает 0 в случае успешного завершения и >0 в случае

возникновения ошибки.

ПРИМЕРЫ

Чтобы запланировать выполнение команды через x секунд (из csh(1)):

(sleep 1800; sh command_file >& errors)&     Это «заклинание» подождало бы полчаса перед тем, как выполнить командный сценарий command_file.  (Посмотрите на утилиту at(1).)

Чтобы выполнить команду с повтором (из csh(1)):           while (1)

if (! -r zzz.rawdata) then

sleep 300

else

foreach i (`ls *.rawdata`)

sleep 70

awk -f collapse_data $i >> results

end

break

endif

end

Сценарий, подобный этому, может быть использован в следующем случае: про-

грамма, которая выполняется в настоящий момент и обрабатывает ряд файлов,

тратит времени больше, чем ожидалось, и было бы неплохо, если бы другая

программа начала обработку файлов, созданных первой программой, как

только та закончит свою работу (когда будет создан файл zzz.rawdata).

Сценарий проверяет наличие файла zzz.rawdata каждые пять минут и когда

обнаруживает его, отправляет очередную порцию на обработку, делая это

вежливо, засыпая на 70 секунд перед каждым заданием awk.

СМОТРИ ТАКЖЕ

nanosleep(2), sleep(3)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *