SLEEP(3) Руководство программиста Linux SLEEP(3)

ИМЯ

sleep - приостанавливает выполнение на заданное число секунд

ОБЗОР

#include <unistd.h>
unsigned int sleep(unsigned int seconds);

ОПИСАНИЕ

Функция sleep() заставляет вызывающую нить заснуть пока не пройдёт число секунд реального времени seconds или пока не поступит сигнал, который невозможно проигнорировать.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
sleep() Безвредность в нитях MT-Unsafe sig:SIGCHLD/linux

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

В Linux sleep() реализована через вызов nanosleep(2). Описание задействованных часов смотрите в справочной странице nanosleep(2).

Замечания о переносимости

В некоторых системах функция sleep() может быть реализована с помощью alarm(2) или SIGALRM (POSIX.1 это допускает); лучше не смешивать вызовы alarm(2) и sleep().

Использование longjmp(3) из обработчика сигнала или изменение обработки SIGALRM в момент сна может привести к непредсказуемым результатам.

СМОТРИТЕ ТАКЖЕ

sleep(1), alarm(2), nanosleep(2), signal(2), signal(7)

2017-09-15 GNU