GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz spánku Linux s příklady

Úvod

Když uživatel zadá v Linuxu sekvenci více příkazů, příkazy se vykonají okamžitě jeden po druhém nebo souběžně (např. příkaz tee). Někdy je však nutné odložit provádění příkazů a poskytnout systému dostatek času, aby přinesl očekávané výsledky.

V tomto tutoriálu se naučíte používat Linux sleep příkaz ke zpoždění spuštění příkazu v terminálu a skriptech shellu.

Předpoklady

  • Systém se systémem Linux
  • Přístup k příkazovému řádku

Co dělá příkaz spánku Linux?

sleep příkaz pozastaví proces volání dalšího příkazu na určenou dobu. Tato vlastnost je užitečná, když provedení následujícího příkazu závisí na úspěšném dokončení předchozího příkazu.

Vysvětlení syntaxe příkazu spánku Linux

Syntaxe sleep příkaz je jednoduchý:

sleep [number]

Ve výše uvedeném příkladu po sleep 5 byl proveden, druhý příkazový řádek se objevil s 5sekundovým zpožděním.

Ve výchozím nastavení systém přečte číslo po sleep jako počet sekund. Chcete-li zadat jiné časové jednotky, použijte následující syntaxi:

sleep [number][unit]

sleep příkaz přijímá čísla s plovoucí desetinnou čárkou. Umožňuje více hodnot, které se všechny sečtou, aby se vypočítala doba sleep .

Dostupné jednotky jsou:

  • s – sekund
  • m – minut
  • h – hodiny
  • d – dny

Chcete-li zastavit sleep po jejím spuštění a před koncem zadané čekací doby stiskněte Ctrl + C .

Chcete-li zobrazit nápovědu pro sleep příkaz, zadejte:

sleep --help 

Podrobnosti o verzi získáte zadáním:

sleep --version

Příklady příkazů spánku Linux

Následující části obsahují příklady použití sleep příkaz v terminálu nebo skriptech shellu.

Nastavit budík

Použijte sleep říci systému, aby po určité době přehrál soubor mp3. V příkladu je použit mplayer:

sleep 7h 30m && mplayer alarm.mp3

Zpoždění příkazů v terminálu

sleep je užitečné pro vynucení doby mezi provedením dvou příkazů. Následující příklad vytváří echo příkazy se provádějí v jednosekundových intervalech:

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

Přiřazení proměnné k příkazu spánku

sleep je možné přiřadit proměnnou příkaz. Zvažte následující skript shellu:

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

Skript definuje proměnnou nazvanou SLEEP_INTERVAL jehož hodnota se později použije jako argument sleep příkaz. Výstup tohoto příkladu skriptu ukazuje, že provádění trvalo 30 sekund:

Definujte intervaly kontroly

Následující příklad ilustruje použití sleep příkaz ve skriptu, který kontroluje, zda je web online. Skript se zastaví, pokud úspěšně odešle ping na web, a sleep zavádí 10sekundovou prodlevu mezi neúspěšnými pingy.

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

Ponechte čas na dokončení operace

Možná používáte bash skript, který interně volá dva další bash skripty – jeden, který spouští testy na pozadí, a druhý, který vytiskne výsledky. Použijte sleep abyste zabránili druhému skriptu vytisknout nesprávné výsledky, pokud se spustí před dokončením prvního skriptu:

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

kill -0 $BACK_PID příkaz zkontroluje, zda proces prvního skriptu stále běží. Pokud ano, vytiskne zprávu a na 1 sekundu přejde do režimu spánku, než znovu zkontroluje.

Předvídat latenci

Použijte sleep umožnit latenci provádění určitých příkazů. Níže uvedený fragment skriptu ukazuje, jak sleep dává CPU dostatek času na provedení výpočtu před další iterací.

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

Linux
  1. Jak používat Linux Touch Command + příklady

  2. Jak používat Linux Hexdump Command s praktickými příklady

  3. Jak používat příkaz id v Linuxu:5 užitečných příkladů

  1. Jak používat příkaz su v Linuxu s příklady

  2. Příkaz SCP v Linuxu:Jak jej používat, s příklady

  3. Jak používat příkaz Rmmod v systému Linux s příklady

  1. Jak používat Linux Shutdown Command s příklady

  2. Jak používat w Command v Linuxu s příklady

  3. Jak používat příkaz k hodinkám Linux s příklady