SLEEP(3)

名称
sleep - 秒単位で測定される間隔だけプロセスの実行を中断する

ライブラリ
libc

書式
<unistd.h> unsigned int sleep(unsigned int seconds)

解説
sleep() 関数は seconds 秒が経過するか、またはシグナルがプロセスに到着した結果 シグナル処理関数を起動するかプロセスを終了するまで、 呼び出しプロセスの実行を中断します。 システムの稼働状況によっては、プロセスの中断している時間が 不確定となって長びく可能性があります。

この関数は、 nanosleep(2) を使用して、 seconds 秒経つか、またはシグナルが到着するまで中断するという方法で 実装されています。したがって、この実装においては、 プロセスが中断することによってプロセスタイマの状態が 影響を受けることはなく、SIGALRM に対する特別な処理も ありません。

戻り値
要求された時間が経過したために sleep() 関数が復帰した場合、返される値は 0 です。シグナルが送られたために sleep() 関数が復帰した場合、返される値は プロセスが中断していなかった時間量 (秒単位) になります (これは要求された時間から実際に中断していた 時間を減算したものです)。

関連項目
nanosleep(2), usleep(3)

規格
sleep() 関数は p1003.1-90 に適合しています。

歴史
sleep() 関数は AT&T UNIX で登場しました。