Linux

【Linux】sleepコマンドの使い方解説!実行プロセスを一定時間停止させるためのコマンド

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Linuxのsleepコマンドについて解説します。sleepコマンドとは、実行プロセスを一時停止させるためのコマンドです。プログラムの実行を指定した時間止めるというコマンドですが、さまざまな使い方があります。今回は、sleepコマンドの使い方を詳しくみていきましょう。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Linux】sleepコマンドの使い方解説!

sleepコマンドとは?

sleepコマンドとは、名前の通りプログラムの実行を一時停止するためのコマンドです。

sleepは、寝るという意味があり、コマンドの実行を寝かせるという意味です。

このコマンドを使用すると、指定した時間だけプログラムの実行を遅らせることができます。一見するとシンプルですが、その使い方には様々なバリエーションがあります。

sleepコマンドの基本的な使い方

sleepコマンドは、以下のように実行します。

sleep [秒数]

たとえば、以下のコマンドを実行すると、プログラムは5秒間実行されず、その後再開されます。

sleep 5

この基本的な使い方以外にも、実行を遅らせる時間を詳細に指定したり、他のコマンドと組み合わせて使用する方法があります。

sleepコマンドの具体例

ここからは、sleepコマンドの具体的な使い方を解説します。

コマンドとsleepコマンドを繋げて実行

まずは、コマンドとsleepコマンドを繋げて実行します。以下の例では、catコマンドとsleepコマンドを繋げています。

cat "test" | sleep 5

コマンドを実行すると、5秒後に”test”という文字列が表示されます。

sleepコマンドと組み合わせることで、コマンドの実行タイミングを遅らせることができます。

スクリプトの中で処理のタイミングを変える

sleepコマンドは、スクリプトの中でよく使われます。

例えば、以下のスクリプトは、ファイルをアップロードした後、5秒の遅延を挟んでアップロードが完了したことをユーザーに通知します。

#!/bin/bash

echo "ファイルをアップロードしています..."
# ここに実際のアップロードコマンドを記述

# アップロード完了後、5秒の遅延を挟んで通知を表示
sleep 5
echo "アップロードが完了しました"

また、以下のスクリプトでは、、プログラムの実行を行い、プログラムがクラッシュした場合に自動的に再起動します。再起動前に10秒の遅延を挟みます。

#!/bin/bash

while true; do
    echo "プログラムを起動しています..."
    # ここにプログラムの実行コマンドを記述

    # プログラムがクラッシュした場合、10秒の遅延を挟んで再起動
    sleep 10
done

このように、スクリプトでsleepを組み合わせることで、柔軟な処理ができます。

sleepコマンドで時間の単位を指定する

sleepコマンドは、時間の単位を設定することもできます。時間の指定がない場合は、全て秒になります。

sleep [時間][単位]

単位には、以下のようなものがあります。

  • s: 秒(seconds)
  • m: 分(minutes)
  • h: 時間(hours)
  • d: 日(days)

例えば、次のコマンドは5秒待機します。

sleep 5s

同様に、以下のコマンドは2分待機します。

sleep 2m

小数点を含む時間も指定することができます。例えば、0.5秒待機するには次のように実行します。

sleep 0.5s

もし「秒」単位以外(例えば「ミリ秒」や「マイクロ秒」)の時間を指定したい場合は、sleepコマンド単体では対応していないので注意が必要です。

まとめ

今回の記事では、sleepコマンドの使い方について解説しました。sleepコマンドは単純なコマンドですが、スクリプトで使うと様々な処理ができるようになります。

sleepコマンドの使い方を覚えて、様々な処理を実行してみましょう。

さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

InfraAcademyの特徴は以下の通り。

  • Linuxやネットワークの知識が体系的に学べる
  • LINEやZoomでエンジニアに質問可能
  • 全ての講座が閲覧できて、2,480円
  • 購入から1週間以内であれば全額返金

Linuxの参考書を購入すると、3,000円以上するものもあります。InfraAcademyでは、2,480円でコンテンツ見放題で現役エンジニアに質問できるサービスまで付いています。

また、購入から1週間以内であれば全額返金保証もあるので安心です。

InfraAcademyでは、一部のコンテンツは無料で閲覧できるので、興味のある方はお試しください。

InfraAcademyでLinuxの学習を始める

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST