Cómo tiempo horarios de un comando en Bash sin retraso innecesario

Cómo tiempo horarios de un comando en Bash sin retraso innecesario

En Bash, a veces es posible que deba ejecutar un comando que tarda mucho en completarse, y es posible que no desee esperar a que termine indefinidamente. Una solución a este problema es usar un comando de tiempo de espera que limite la cantidad de tiempo que puede ejecutar un comando. Este artículo discutirá cómo tiempo de tiempo de un comando en Bash sin demora innecesaria.

Tiempo de espera un comando en Bash

Para temporizar un comando en Bash, podemos usar el "se acabó el tiempo" dominio. El comando "Tiempo de espera" no está disponible de forma predeterminada en todos los sistemas, pero se puede instalar utilizando el Administrador de paquetes en la mayoría de las distribuciones de Linux, aquí está la sintaxis del comando "Tiempo de espera":

Tiempo de espera [Opción] Comando de duración [Arg]


Aquí la "opción" es un argumento opcional que especifica el comportamiento del comando de tiempo de espera, "duración" es el límite de tiempo para que el comando se ejecute, y "comando [arg]" es el comando y sus argumentos que queremos ejecutar.

Por ejemplo, supongamos que queremos ejecutar el comando "Sleep" durante cinco segundos, pero queremos temporizar el comando después de tres segundos y aquí está el ejemplo de script de shell:

#!/bin/bash
Echo "Comenzando el comando del sueño con tiempo de espera de 3 segundos ..."
Tiempo de espera 3s Sleep 5s
echo "Comando de sueño terminado."


Aquí he especificado la duración del tiempo de espera como 3 segundos y la duración del comando "dormir" como 5 segundos. El comando "tiempo de espera" detendrá el comando "dormir" después de 3 segundos, a pesar de que el comando "dormir" normalmente se ejecutaría durante 5 segundos.


Para evitar un retraso innecesario al usar el comando "Tiempo de espera", podemos usar la opción "-K". La opción "-k" especifica una señal que se enviará al comando si excede el límite de tiempo de espera. Esta señal hará que el comando termine de inmediato, en lugar de esperar a que termine con gracia.

Por ejemplo, supongamos que queremos ejecutar el comando "Sleep" durante cinco segundos, pero queremos un tiempo de tiempo de tiempo después de tres segundos y enviar la señal Sigint si excede el límite de tiempo de espera. Podemos hacer esto ejecutando el siguiente comando:

#!/bin/bash
Echo "Comenzando el comando de sueño con tiempo de espera de 3 segundos y señal de sigintidad después de 2 segundos"
Tiempo de espera -k 2s 3s Sleep 5s
echo "Comando de sueño terminado."


Aquí he especificado la duración del tiempo de espera como 3 segundos y la señal que se enviará como Sigint si excede el límite de tiempo de espera. La opción "-K 2s" especifica que la señal Sigint debe enviarse después de dos segundos del límite de tiempo de espera.

Conclusión

Tiempo de espera Un comando en Bash es una herramienta útil que puede ayudarlo a ejecutar comandos de manera más eficiente y evitar retrasos innecesarios. Al usar el comando "Tiempo de espera" y la opción "-K", puede limitar la cantidad de tiempo que puede ejecutar un comando y enviar una señal para terminarlo inmediatamente si excede el límite de tiempo de espera. Esto lo ayudará a ahorrar tiempo y ejecutar sus scripts de manera más eficiente.