GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando de suspensión de Linux con ejemplos

Introducción

Cuando el usuario emite una secuencia de comandos múltiples en Linux, los comandos se ejecutan inmediatamente uno tras otro o al mismo tiempo (por ejemplo, el comando tee). Sin embargo, a veces es necesario posponer la ejecución de comandos y dar tiempo suficiente para que el sistema produzca los resultados esperados.

En este tutorial, aprenderá a usar el sleep de Linux Comando para retrasar la ejecución del comando en el terminal y scripts de shell.

Requisitos previos

  • Un sistema que ejecuta Linux
  • Acceso a la línea de comando

¿Qué hace el comando de suspensión de Linux?

El sleep El comando suspende el proceso de llamada del siguiente comando durante un período de tiempo específico. Esta propiedad es útil cuando la ejecución del siguiente comando depende de la finalización exitosa de un comando anterior.

Explicación de la sintaxis del comando de suspensión de Linux

La sintaxis del sleep el comando es simple:

sleep [number]

En el ejemplo anterior, después de sleep 5 se ejecutó, el segundo símbolo del sistema apareció con un retraso de 5 segundos.

De forma predeterminada, el sistema lee el número después de sleep como el número de segundos. Para especificar otras unidades de tiempo, utilice la siguiente sintaxis:

sleep [number][unit]

El sleep El comando acepta números de coma flotante. Permite múltiples valores, que se suman para calcular la duración del sleep .

Las unidades disponibles son:

  • s – segundos
  • m – minutos
  • h – horas
  • d – días

Para dejar de sleep después de que comenzó y antes de que finalice el período de espera especificado, presione Ctrl + C .

Para ver ayuda para sleep comando, escriba:

sleep --help 

Para obtener detalles de la versión, escriba:

sleep --version

Ejemplos de comandos de suspensión de Linux

Las siguientes secciones contienen ejemplos del uso de sleep comando en la terminal o scripts de shell.

Configurar una alarma

Usa sleep para decirle al sistema que reproduzca un archivo mp3 después de una cierta cantidad de tiempo. El ejemplo usa mplayer:

sleep 7h 30m && mplayer alarm.mp3

Comandos de retraso en la terminal

sleep es útil para imponer un tiempo entre la ejecución de dos comandos. El siguiente ejemplo hace que echo los comandos se ejecutan en intervalos de un segundo:

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

Asigne una variable al comando de suspensión

Es posible asignar una variable al sleep dominio. Considere el siguiente script de 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}"

El script define una variable llamada SLEEP_INTERVAL cuyo valor se usa más tarde como argumento para sleep dominio. El resultado de este script de ejemplo muestra que la ejecución duró 30 segundos:

Definir intervalos de verificación

El siguiente ejemplo ilustra el uso de sleep Comando en un script que verifica si un sitio web está en línea. El script se detiene si hace ping con éxito a un sitio web y sleep introduce un retraso de 10 segundos entre pings fallidos.

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

Permitir tiempo para la finalización de la operación

Es posible que esté ejecutando un script bash que llama internamente a otros dos scripts bash:uno que ejecuta pruebas en segundo plano y otro que imprime los resultados. Usa sleep para evitar que la segunda secuencia de comandos imprima resultados incorrectos si se ejecuta antes de que se complete la primera secuencia de comandos:

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

El kill -0 $BACK_PID El comando verifica si el proceso del primer script aún se está ejecutando. Si es así, imprime el mensaje y duerme durante 1 segundo antes de volver a comprobarlo.

Predecir latencia

Usa sleep para permitir la latencia de ciertas ejecuciones de comandos. El siguiente fragmento de secuencia de comandos muestra cómo sleep le da a la CPU tiempo suficiente para realizar el cálculo antes de la siguiente iteración.

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

Linux
  1. Cómo usar el comando táctil de Linux + ejemplos

  2. Cómo usar el comando Hexdump de Linux con ejemplos prácticos

  3. Comando SCP en Linux:cómo usarlo, con ejemplos

  4. Cómo usar el comando Rmmod en Linux con ejemplos

  5. Cómo usar el comando id en Linux:5 ejemplos útiles

Cómo usar el comando who en Linux con ejemplos

Comando alias de Linux:cómo usarlo con ejemplos

Cómo usar el comando RPM (con ejemplos)

Cómo usar el comando gunzip de Linux con ejemplos

Cómo usar el comando rm de Linux con ejemplos

Cómo usar el comando de suspensión en Linux:explicado con ejemplos