名 前
alarm − シ グ ナ ル 配 送 の た め の ア ラ ー ム ク ロ ッ ク を 設 定 す る
書 式
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
説 明
alarm() は SIGALRM シ グ ナ ル を seconds 秒 後 に 呼 び 出 し た プ ロ セ ス に 配 送 す る よ う に 手 配 す る 。
seconds が ゼ ロ な ら ば 、 処 理 待 ち (pending) の ア ラ ー ム は す べ て キ ャ ン セ ル さ れ る 。 今 ま で に 設 定 さ れ て い た alarm() は 中 断 さ れ る 。
返 り 値
alarm() は 以 前 に 予 定 さ れ て い た ア ラ ー ム の 配 送 ま で の 残 り 時 間 を 返 す 。 以 前 に ア ラ ー ム が 予 定 さ れ て い な け れ ば ゼ ロ を 返 す 。
準 拠
SVr4, POSIX.1−2001, 4.3BSD.
注 意
alarm() と setitimer(2) は 同 じ タ イ マ ー を 共 有 し て い る ; 片 方 を 呼 び 出 す こ と は も う 一 方 の 使 用 に 影 響 を 与 え る 。
alarm() で 作 成 さ れ た ア ラ ー ム は execve(2) の 前 後 で 保 持 さ れ 、 fork(2) で 作 成 さ れ た 子 プ ロ セ ス に は 継 承 さ れ な い 。
sleep(3) は SIGALRM を 利 用 し て 実 装 さ れ て い る か も し れ な い 。 alarm() と sleep(3) を 混 ぜ て 使 用 し て は な ら な い 。 ス ケ ジ ュ ー リ ン グ (scheduling)の 遅 延 に よ り 、 プ ロ セ ス の 実 行 に 不 定 量 の 遅 延 が 起 き る 可 能 性 が あ る 。
関 連 項 目
gettimeofday(2), pause(2), select(2), setitimer(2), sigaction(2), signal(2), sleep(3), time(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。