SLEEP(3)

名称
sleep - 秒単位で測定される間隔についてプロセス実行を延期する

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

解説
sleep() 関数は、 seconds 秒が経過するか、またはシグナルがプロセスに配信されその 処置がシグナル捕捉関数を起動するかプロセスを終了するまで、呼び出しプロセスの 実行を延期します。 システムアクティビティは、不確定の量だけスリープを長くする可能性があります。

この関数は、 seconds 秒だけ停止することによって、またはシグナルが発生するまで、 nanosleep(2) を使用して実現されています。したがって、ここでは、スリープは プロセスタイマの状態に何の影響もなく、SIGALRM の特別な処理もありません。

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

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

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

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