コンピュータの中には (特にラップトップには)、
リアルタイムクロック (RTC) を用いて
低電力サスペンドモードから DRAM モードに復帰できるタイプのものがある。
apmsleep
を使うと、RTC の「目覚まし時刻」を設定してから
システムをサスペンドモード・スタンバイモードにすることができる。
RTC からの割り込みがあると、コンピュータは目を覚ます。
このプログラムは、カーネル時刻の不連続な変化 (leap)
を待つことによってこのイベントを検知し、成功を返して終了する。
一分以内に時刻の leap がなかったり、何かまずいことがおこったら、
0 以外の値を返して終了する。
復帰時刻の指定には 2 つの形式がある。
+hh:mm
は現在の時刻からの相対的なオフセットを指定する。
コンピュータが復帰するまでには、
hh 時間と mm 分に加えて何秒かが必要となる。
hh:mm
は復帰時刻を 24 時間フォーマットのローカル時刻で指定する。
RTC に保存されているのが GMT かそうでないかは気にしなくてよい。
TZ 環境変数でタイムゾーンを変更していても良い。
夏時間はこのバージョンでは考慮していないが、将来は対応する予定である。