名 前
sleep − 指 定 の 秒 数 の 間 だ け 休 止 す る
書 式
#include <unistd.h>
unsigned int sleep(unsigned int seconds);
説 明
sleep() は 、 呼 び 出 し た ス レ ッ ド を seconds 秒 間 ま た は 無 視 さ れ な い シ グ ナ ル が 到 着 す る ま で 休 止 す る 。
返 り 値
要 求 さ れ た 時 間 が 過 ぎ た 場 合 は ゼ ロ を 返 す 。 呼 び 出 し が シ グ ナ ル ハ ン ド ラ ー に 割 り 込 ま れ た 場 合 は 、 休 止 の 残 り 時 間 を 返 す 。
準 拠
POSIX.1−2001.
バ グ
sleep() は SIGALRM を 用 い て 実 装 さ れ て い る 。 そ の た め 、 alarm(2) と sleep() を 混 ぜ て 使 用 す る の は 、 ま ず い 考 え で あ る 。 休 止 中 に シ グ ナ ル ハ ン ド ラ ー か ら longjmp(3) を 使 用 す る こ と や SIGALRM の ハ ン ド リ ン グ を 変 更 す る こ と は 、 定 義 さ れ て い な い 結 果 を 生 む 。
関 連 項 目
alarm(2), nanosleep(2), signal(2), signal(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。