GNU/Linux >> Linux の 問題 >  >> Linux

例を使用してLinuxsleepコマンドを使用する方法

はじめに

Linuxでユーザーが複数のコマンドシーケンスを発行すると、コマンドはすぐに次々に実行されるか、同時に実行されます(たとえば、teeコマンド)。ただし、コマンドの実行を延期し、システムが期待される結果を生成するのに十分な時間を提供する必要がある場合があります。

このチュートリアルでは、Linuxの sleepの使用方法を学習します ターミナルおよびシェルスクリプトでのコマンド実行を遅らせるコマンド。

前提条件

  • Linuxを実行しているシステム
  • コマンドラインへのアクセス

Linux sleepコマンドは何をしますか?

スリープ コマンドは、指定された時間、次のコマンドの呼び出しプロセスを一時停止します。このプロパティは、次のコマンドの実行が前のコマンドの正常な完了に依存している場合に役立ちます。

Linuxsleepコマンド構文の説明

sleepの構文 コマンドは簡単です:

sleep [number]

上記の例では、 sleep 5の後 が実行されると、2番目のコマンドプロンプトが5秒遅れて表示されました。

デフォルトでは、システムは sleepの後に番号を読み取ります 秒数として。他の時間単位を指定するには、次の構文を使用します。

sleep [number][unit]

スリープ コマンドは浮動小数点数を受け入れます。複数の値を合計して、スリープの期間を計算できます。

利用可能なユニットは次のとおりです。

  • s –秒
  • m –分
  • h –時間
  • d –日

スリープを停止するには 開始後、指定した待機期間が終了する前に、 Ctrl + Cを押します。

sleepのヘルプを表示するには コマンド、次のように入力します:

sleep --help 

バージョンの詳細については、次のように入力してください:

sleep --version

Linuxsleepコマンドの例

次のセクションには、 sleepの使用例が含まれています ターミナルまたはシェルスクリプトのコマンド。

アラームを設定する

sleepを使用する 一定時間後にmp3ファイルを再生するようにシステムに指示します。この例ではmplayerを使用しています:

sleep 7h 30m && mplayer alarm.mp3

ターミナルでの遅延コマンド

スリープ 2つのコマンドの実行の間に時間を強制するのに役立ちます。次の例では、 echo を作成します コマンドは1秒間隔で実行されます:

sleep 1 && echo "one" && sleep 1 && echo "two"

sleepコマンドに変数を割り当てる

sleepに変数を割り当てることができます 指図。次のシェルスクリプトについて考えてみます。

#!/bin/bash
SLEEP_INTERVAL="30"
CURRENT_TIME=$(date +"%T")
echo "Time before sleep: ${CURRENT_TIME}"
echo "Sleeping for ${SLEEP_INTERVAL} seconds"
sleep ${SLEEP_INTERVAL}
CURRENT_TIME=$(date +"%T")
echo "Time after sleep: ${CURRENT_TIME}"

スクリプトは、 SLEEP_INTERVALという変数を定義します その値は後でsleepへの引数として使用されます 指図。このサンプルスクリプトの出力は、実行が30秒続いたことを示しています。

チェック間隔の定義

次の例は、 sleepの使用法を示しています。 Webサイトがオンラインかどうかをチェックするスクリプトのコマンド。スクリプトは、Webサイトに正常にpingを実行し、スリープすると停止します。 pingが失敗する間に10秒の遅延が発生します。

#!/bin/bash
while :
    do
        if ping -c 1 www.google.com &> /dev/null
        then
        echo "Google is online"
        break
        fi
    sleep 10
done

操作が完了するまでの時間を確保する

他の2つのbashスクリプトを内部的に呼び出すbashスクリプトを実行している可能性があります。1つはバックグラウンドでテストを実行し、もう1つは結果を出力します。 sleepを使用する 2番目のスクリプトが最初のスクリプトの完了前に実行された場合に、2番目のスクリプトが間違った結果を出力するのを防ぐには:

while kill -0 $BACK_PID ; do
    echo "Waiting for the process to end"
    sleep 1
done

kill -0 $ BACK_PID コマンドは、最初のスクリプトのプロセスがまだ実行されているかどうかを確認します。そうである場合は、メッセージを出力し、1秒間スリープしてから、再度確認します。

レイテンシの予測

sleepを使用する 特定のコマンド実行の待ち時間を許可します。以下のスクリプトスニペットは、スリープの方法を示しています 次の反復の前に計算を実行するのに十分な時間をCPUに与えます。

for (( i = 1 ; i <= 250 ; i++ )); 
    do  
    sleep 1
    qsub computation"${i}".pbs
done

Linux
  1. 実用的な例でLinuxHexdumpコマンドを使用する方法

  2. LinuxでのSCPコマンド:使用方法と例

  3. Linuxでidコマンドを使用する方法:5つの便利な例

  1. 例を使用してLinuxでsuコマンドを使用する方法

  2. LinuxTouchコマンドの使用方法+例

  3. 例を使用してLinuxでRmmodコマンドを使用する方法

  1. 例でLinuxシャットダウンコマンドを使用する方法

  2. 例を使用してLinuxでwコマンドを使用する方法

  3. 例を使用してLinuxwatchコマンドを使用する方法