GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Linux-Schlafbefehl mit Beispielen

Einführung

Wenn der Benutzer unter Linux eine Mehrfachbefehlssequenz ausgibt, werden die Befehle unmittelbar nacheinander oder gleichzeitig ausgeführt (z. B. der tee-Befehl). Manchmal ist es jedoch erforderlich, die Ausführung von Befehlen zu verschieben und dem System genügend Zeit zu geben, die erwarteten Ergebnisse zu erzielen.

In diesem Tutorial lernen Sie, wie Sie den Linux-sleep verwenden Befehl, um die Befehlsausführung in den Terminal- und Shell-Skripten zu verzögern.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird
  • Zugriff auf die Befehlszeile

Was macht der Linux-sleep-Befehl?

Der sleep Befehl setzt den Aufrufprozess des nächsten Befehls für eine bestimmte Zeit aus. Diese Eigenschaft ist nützlich, wenn die Ausführung des folgenden Befehls vom erfolgreichen Abschluss eines vorherigen Befehls abhängt.

Linux sleep Befehlssyntax erklärt

Die Syntax von sleep Befehl ist einfach:

sleep [number]

Im obigen Beispiel nach sleep 5 ausgeführt wurde, erschien die zweite Eingabeaufforderung mit einer Verzögerung von 5 Sekunden.

Standardmäßig liest das System die Nummer nach sleep als Anzahl von Sekunden. Um andere Zeiteinheiten anzugeben, verwenden Sie die folgende Syntax:

sleep [number][unit]

Der sleep Der Befehl akzeptiert Fließkommazahlen. Es erlaubt mehrere Werte, die alle zusammengezählt werden, um die Dauer von sleep zu berechnen .

Verfügbare Einheiten sind:

  • s – Sekunden
  • m – Minuten
  • h – Stunden
  • d – Tage

Um den sleep zu beenden Drücken Sie nach dem Start und vor Ablauf der angegebenen Wartezeit Ctrl + C .

Um die Hilfe für sleep anzuzeigen Geben Sie Folgendes ein:

sleep --help 

Geben Sie für Versionsdetails Folgendes ein:

sleep --version

Linux-Schlafbefehlsbeispiele

Die folgenden Abschnitte enthalten Beispiele für die Verwendung von sleep Befehl in den Terminal- oder Shell-Skripten.

Alarm einrichten

Verwenden Sie sleep um dem System zu sagen, dass es nach einer bestimmten Zeit eine MP3-Datei abspielen soll. Das Beispiel verwendet mplayer:

sleep 7h 30m && mplayer alarm.mp3

Befehle im Terminal verzögern

sleep ist nützlich, um eine Zeit zwischen der Ausführung zweier Befehle zu erzwingen. Das folgende Beispiel erzeugt echo Befehle werden im Sekundentakt ausgeführt:

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

Weise dem Schlafbefehl eine Variable zu

Es ist möglich, dem sleep eine Variable zuzuweisen Befehl. Betrachten Sie das folgende Shell-Skript:

#!/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}"

Das Skript definiert eine Variable namens SLEEP_INTERVAL dessen Wert später als Argument für sleep verwendet wird Befehl. Die Ausgabe dieses Beispielskripts zeigt, dass die Ausführung 30 Sekunden gedauert hat:

Prüfintervalle definieren

Das folgende Beispiel veranschaulicht die Verwendung von sleep Befehl in einem Skript, das prüft, ob eine Website online ist. Das Skript stoppt, wenn es eine Website erfolgreich anpingt, und sleep führt eine Verzögerung von 10 Sekunden zwischen erfolglosen Pings ein.

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

Geben Sie Zeit für den Abschluss des Vorgangs ein

Möglicherweise führen Sie ein Bash-Skript aus, das intern zwei weitere Bash-Skripts aufruft – eines, das Tests im Hintergrund ausführt, und ein anderes, das die Ergebnisse ausgibt. Verwenden Sie sleep um zu verhindern, dass das zweite Skript falsche Ergebnisse ausgibt, wenn es vor Abschluss des ersten Skripts ausgeführt wird:

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

Der kill -0 $BACK_PID überprüft, ob der Prozess des ersten Skripts noch läuft. Wenn dies der Fall ist, druckt es die Nachricht und schläft 1 Sekunde lang, bevor es erneut überprüft wird.

Latenz vorhersagen

Verwenden Sie sleep um die Latenz bestimmter Befehlsausführungen zu ermöglichen. Das folgende Skript-Snippet zeigt, wie sleep gibt der CPU genug Zeit, um die Berechnung vor der nächsten Iteration durchzuführen.

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

Linux
  1. Verwendung des Linux-Touch-Befehls + Beispiele

  2. Verwendung des Linux-Hexdump-Befehls mit praktischen Beispielen

  3. SCP-Befehl in Linux:Verwendung mit Beispielen

  4. So verwenden Sie den Rmmod-Befehl unter Linux mit Beispielen

  5. So verwenden Sie den id-Befehl unter Linux:5 nützliche Beispiele

So verwenden Sie den who-Befehl in Linux mit Beispielen

Linux-Alias-Befehl:Verwendung mit Beispielen

Verwendung des RPM-Befehls (mit Beispielen)

So verwenden Sie den Gunzip-Befehl unter Linux mit Beispielen

So verwenden Sie den Linux-rm-Befehl mit Beispielen

So verwenden Sie den Sleep-Befehl unter Linux:Erklärt mit Beispielen