【sleep】Linuxで特定の時間だけ処理を停止するコマンドの使い方

寝ている女性の画像

どうも、だにえるです。

sleepコマンドは、指定した時間分の処理を停止(スリープ)するコマンドです。

使いどころとしては、シェルスクリプト内で他の処理の終了を待つ場合などに便利です。
フォアグラウンドで実行した場合、プロンプトが指定時間分返ってこないので、シェルが停止したような状態になります。

 

sleepコマンドの書式

sleepコマンドは、以下の書式で指定します。

sleep 時間[単位]

使用できる単位

sleepコマンドの単位は、以下のものを指定できます。
※単位を指定しない場合は、秒数として実行されます。

s
m
時間h
d

sleepコマンドの使い方

時間単位を指定しないで停止する

  • 単位の指定がない場合は秒数として扱われるため、
    以下のコマンドを実行すると、3秒間停止します。
$ sleep 3

 

時間単位を指定して停止する

  • 以下のコマンドを実行すると、5分間停止します。
$ sleep 5m
  • 以下のコマンドでは300秒間停止なので、↑のコマンドの5分間停止と同じ結果が得られます。
$ sleep 300
  • 以下のコマンドでは、1分30秒間停止します。
$ sleep 1.5m

 

複数の引数を指定して停止する

  • 複数の引数を指定した場合は、指定した時間の合計時間停止します。
    以下のコマンドでは、2分30秒間停止します。
$ sleep 2m 30s
  • 以下のコマンドを実行すると、5時間5分停止します。
$ sleep 5h 5m