Sleep (UNIX)

sleep(スリープ)は、プログラムの実行を指定された時間だけ中断する、UNIXコマンドラインプログラムである。sleepコマンドは呼び出したプロセスを、指定された値の秒(デフォルト)、分、時間、日よりも長い間だけ中断する。

使用方法

sleep number[suffix]...
または:
sleep option

numberは指定する浮動小数点数、suffixは時間の単位を指示するためのオプションのサフィックスである。

サフィックス

s (秒)
m (分)
h (時間)
d (日)

オプション

--help     このヘルプを表示し、終了する。
--version  バージョン情報を出力し、終了する。

sleep 5 

現在のターミナルセッションで、5秒間の待ち合わせを行う。デフォルトの単位は秒である。

sleep 5h

現在のターミナルセッションで、5時間の待ち合わせを行う。

sleep 3h ; mplayer foo.mp3

3時間の待ち合わせの後、foo.mp3を演奏する。

sleepは、一つの値と単位だけを引数として扱うため、sleep 5h30msleep 5h 30mという書式は誤りである。ただし、sleep 5.5hという書式は許されている。Linuxでの実装では、sleepでの複数の引数が許されているので、sleep 5h 30mという書式は正しく動作する。(時間と分の間のスペースは必要である)

sleepは、タスクのスケジューリング、またはプロセスの実行開始の遅延を目的として使用される。

システムコールsleepは指定した時間、自分自身のスレッドをタスクスケジューラーのキューから削除する。引数0のスリープは一見無意味に見えるが、この場合現在の残りタイムスライスを放棄して別のスレッドに制御を移譲する(ポーリング処理などで多用される)。

外部リンク