こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxのsleepコマンドについて解説します。sleepコマンドとは、実行プロセスを一時停止させるためのコマンドです。プログラムの実行を指定した時間止めるというコマンドですが、さまざまな使い方があります。今回は、sleepコマンドの使い方を詳しくみていきましょう。
目次
【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では、一部のコンテンツは無料で閲覧できるので、興味のある方はお試しください。