Diferencia bash entre espera y sueño

Diferencia bash entre espera y sueño
Bash es un poderoso lenguaje de script de shell utilizado en sistemas operativos basados ​​en UNIX. Los dos comandos más utilizados en Bash son esperar y dormir y ambos comandos se utilizan para detener la ejecución de un script bash, pero funcionan de manera diferente.

Este artículo explorará las diferencias entre esperar y dormir comandos en Bash y proporcionar ejemplos para cada comando.

Mando del sueño

El dormir El comando se usa para detener la ejecución de un script para un número especificado de segundos y a menudo se usa para introducir los retrasos entre comandos o para pausar un script antes de continuar la ejecución, a continuación se encuentra la sintaxis para la sintaxis para la sintaxis para la sintaxis dormir dominio:

dormir

Cuando segundos es el número de segundos para pausar el script, para una ilustración adicional, he dado un código de bash de ejemplo que solo detiene la ejecución del código durante 5 segundos, aquí hay un ejemplo:

#!/bin/bash
Echo "Comenzando un proceso de larga duración."
# Pausa por 5 segundos
dormir 5
hacer eco "continuando con el guión."

El código imprime un mensaje para indicar que estamos comenzando un proceso de larga duración y luego usa el comando de sueño para detener el script durante 5 segundos antes de continuar con el siguiente comando y una vez que el comando dormir El tiempo termina el script continuará su ejecución:

Comando de espera

El esperar El comando se utiliza para detener la ejecución de un script hasta que todos los procesos infantiles se hayan completado. A menudo se usa junto con el operador &, que permite que un script ejecute múltiples comandos simultáneamente, a continuación se encuentra la sintaxis para el esperar dominio

esperar

Para una ilustración adicional, he dado un código BASH de ejemplo que solo espera ejecutar todos los procesos que se ejecutan en segundo plano usando el comando de espera y una vez que se completan todos los procesos, imprime un mensaje de tarea completado:

#!/bin/bash
# Definir una función que realiza una tarea que requiere mucho tiempo
función TIME_CONSUMING_TASK
Echo "Tarea de inicio de tiempo de tiempo $ 1"
dormir $ 2
Echo "Tarea de tiempo completada de tiempo $ 1"

# Inicie múltiples tareas que consumen mucho tiempo en segundo plano
Time_consuming_task "Tarea 1" 5 &
Time_Consuming_Task "Tarea 2" 3 &
Time_consuming_task "Tarea 3" 7 y
# Espere a que se complete todas las tareas de fondo
esperar
# Imprimir un mensaje que indica que todas las tareas se han completado
Echo "Se han completado tareas que consumen mucho tiempo."

Aquí hemos definido una función llamada Time_consuming_task que simula una tarea que requiere mucho tiempo utilizando el dormir Comando para pausar la ejecución del script por una cantidad de tiempo especificada. Luego iniciamos múltiples instancias de esta función en el fondo utilizando el símbolo & Símbolo.

Después de comenzar las tareas de fondo, usamos el esperar Comando para pausar la ejecución del script hasta que se completen todas las tareas de fondo. Finalmente, imprimimos un mensaje que indica que se han completado todas las tareas que consumen mucho tiempo:

Así es como el esperar El comando se puede utilizar para controlar la ejecución de tareas de fondo en bash. Al usar el comando Wait, podemos asegurarnos de que nuestro script espere que todas las tareas de fondo terminen antes de continuar con el siguiente comando. Esto puede ser particularmente útil cuando necesitamos realizar múltiples tareas que consumen mucho tiempo en paralelo y debemos esperar a que todas las tareas se completen antes de pasar al siguiente paso

Diferencia entre espera y sueño

La diferencia clave entre esperar y dormir es eso esperar se usa para detener un script hasta que todos los procesos infantiles se hayan completado, mientras que dormir se usa para detener un script para un número especificado de segundos. El esperar se usa típicamente junto con el operador & para permitir que un script ejecute múltiples comandos simultáneamente, mientras dormir se usa para introducir retrasos entre comandos o para detener un script antes de continuar la ejecución.

Conclusión

El esperar y dormir son dos comandos de uso común en Bash que se utilizan para detener la ejecución de un script. El esperar se usa para detener un script hasta que todos los procesos infantiles se hayan completado, mientras que dormir se usa para detener un script para un número especificado de segundos. Al comprender las diferencias entre estos comandos, puede usarlas de manera efectiva en sus scripts bash para mejorar la eficiencia y automatizar tareas.