GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando sleep di Linux con esempi

Introduzione

Quando l'utente esegue una sequenza di comandi multipli in Linux, i comandi vengono eseguiti immediatamente uno dopo l'altro o contemporaneamente (ad esempio, il comando tee). Tuttavia, a volte è necessario posticipare l'esecuzione dei comandi e fornire tempo sufficiente affinché il sistema produca i risultati attesi.

In questo tutorial imparerai come usare il sleep di Linux comando per ritardare l'esecuzione del comando nel terminale e negli script della shell.

Prerequisiti

  • Un sistema che esegue Linux
  • Accesso alla riga di comando

Cosa fa il comando sleep di Linux?

Il sleep comando sospende il processo di chiamata del comando successivo per un periodo di tempo specificato. Questa proprietà è utile quando l'esecuzione del comando successivo dipende dal completamento con successo di un comando precedente.

Spiegazione della sintassi del comando sleep di Linux

La sintassi del sleep il comando è semplice:

sleep [number]

Nell'esempio sopra, dopo sleep 5 è stato eseguito, il secondo prompt dei comandi è apparso con un ritardo di 5 secondi.

Per impostazione predefinita, il sistema legge il numero dopo sleep come numero di secondi. Per specificare altre unità di tempo, utilizza la seguente sintassi:

sleep [number][unit]

Il sleep il comando accetta numeri in virgola mobile. Consente più valori, che vengono tutti sommati per calcolare la durata del sleep .

Le unità disponibili sono:

  • s – secondi
  • m – minuti
  • h – ore
  • d – giorni

Per interrompere il sleep dopo l'inizio e prima della fine del periodo di attesa specificato, premi Ctrl + C .

Per vedere l'aiuto per il sleep comando, digita:

sleep --help 

Per i dettagli sulla versione, digita:

sleep --version

Esempi di comandi per la sospensione di Linux

Le sezioni seguenti contengono esempi di utilizzo del sleep comando nel terminale o negli script della shell.

Imposta una sveglia

Usa sleep per dire al sistema di riprodurre un file mp3 dopo un certo periodo di tempo. L'esempio utilizza mplayer:

sleep 7h 30m && mplayer alarm.mp3

Comandi di ritardo nel terminale

sleep è utile per far rispettare un tempo tra l'esecuzione di due comandi. L'esempio seguente crea echo i comandi vengono eseguiti a intervalli di un secondo:

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

Assegna una variabile al comando sleep

È possibile assegnare una variabile allo sleep comando. Considera il seguente script di shell:

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

Lo script definisce una variabile chiamata SLEEP_INTERVAL il cui valore viene successivamente utilizzato come argomento per il sleep comando. L'output di questo script di esempio mostra che l'esecuzione è durata 30 secondi:

Definisci intervalli di controllo

L'esempio seguente illustra l'uso di sleep comando in uno script che controlla se un sito Web è online. Lo script si interrompe se esegue correttamente il ping di un sito Web e sleep introduce un ritardo di 10 secondi tra i ping non riusciti.

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

Concedi tempo per il completamento dell'operazione

Potresti eseguire uno script bash che chiama internamente altri due script bash:uno che esegue i test in background e un altro che stampa i risultati. Usa sleep per evitare che il secondo script stampi risultati errati se viene eseguito prima del completamento del primo script:

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

Il kill -0 $BACK_PID comando controlla se il processo del primo script è ancora in esecuzione. Se lo è, stampa il messaggio e si ferma per 1 secondo prima di ricontrollare.

Prevedi la latenza

Usa sleep per consentire la latenza di alcune esecuzioni di comandi. Lo snippet di script di seguito mostra come sleep dà alla CPU abbastanza tempo per eseguire il calcolo prima dell'iterazione successiva.

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

Linux
  1. Come utilizzare il comando touch di Linux + esempi

  2. Come utilizzare il comando Hexdump di Linux con esempi pratici

  3. Comando SCP in Linux:come usarlo, con esempi

  4. Come utilizzare il comando Rmmod su Linux con esempi

  5. Come utilizzare il comando id in Linux:5 esempi utili

Come utilizzare il comando who in Linux con esempi

Comando alias Linux:come usarlo con esempi

Come utilizzare il comando RPM (con esempi)

Come utilizzare il comando gunzip di Linux con esempi

Come utilizzare il comando Linux rm con esempi

Come utilizzare il comando Sleep in Linux:spiegato con esempi