En Linux, algunos comandos tardan mucho tiempo en ejecutarse y esperamos el comando completo, pero para algunos comandos, finalizamos ese comando usando el comando kill después de un tiempo. ¿Qué pasa si automatizamos la finalización de los comandos de ejecución prolongada después de un tiempo? Sí, podemos hacerlo en Linux. Hay dos formas en que podemos limitar el tiempo para el comando, una es el comando de tiempo de espera y otra es usando el programa de límite de tiempo .
Comando de tiempo de espera
Linux tiene una utilidad de línea de comandos de tiempo de espera. Al usar esta utilidad, podemos eliminar el comando si no se completa dentro del límite de tiempo. Ahora veamos la sintaxis del comando de tiempo de espera.
timeout [OPTION] DURATION COMMAND [ARG]...
Aquí, en el lugar de la duración, mencione el tiempo en segundos, minutos u horas utilizando el número seguido de:
- s por segundo
- m por minutos
- h por horas
Si no menciona ningún carácter de arriba después del número, el tiempo de espera se considerará como un segundo. Y después de eso, menciona el comando para el que tenemos que limitar el tiempo.
Ahora tomemos un ejemplo, vamos a hacer ping al comando con 5s:
timeout 5s ping google.com
Luego puede ver que el comando finaliza después de 5 segundos.
Si no mencionamos la s después de 5, el comando se ejecutará como antes.
También podemos configurar el single para que se envíe después del proceso de eliminación usando la opción single -s o –signal. Aquí hay un ejemplo
timeout --signal=SIGQUIT 8 tail -f /var/log/pacman.log
Algunos comandos pueden continuar ejecutándose incluso después de enviar la señal inicial. Podemos manejar este tipo de comando usando la opción -k o -kill con el tiempo. La siguiente es la sintaxis
-k --kill-after=DURATION
Para saber más sobre el comando de tiempo de espera, use el comando man:
man timeout
Programa de límite de tiempo
El límite de tiempo es una utilidad que ejecuta un comando determinado con un límite de tiempo determinado. Si el comando mencionado finaliza antes del tiempo mencionado, entonces el límite de tiempo se cierra silenciosamente. Antes de eliminar el comando, el límite de tiempo envía una advertencia al comando y luego envía una señal de eliminación. El límite de tiempo proporciona más opciones que el comando de tiempo de espera, lo cual es muy útil.
Instalación de límite de tiempo:
Para sistemas basados en Debian como Ubuntu, use el siguiente comando:
sudo apt install timelimit
Para arch Linux o SO basado en arch, instálelo usando AUR. Usa el siguiente comando:
git clone https://aur.archlinux.org/timelimit.git && cd timelimit && makepkg -sri
Usando el límite de tiempo
La sintaxis básica para usar el límite de tiempo es la siguiente:
límite de tiempo [-pq] [-S killsig] [-s warnsig] [-T killtime] [-t warntime] comando [argumentos…]
Los valores predeterminados de las opciones de límite de tiempo son los siguientes:
- tiempo de advertencia (-t): 3600
- aviso(s) : 15
- tiempo de matar (-T): 120
- killsig(-S): 9
Aquí hay un ejemplo del comando de límite de tiempo:
Para saber más sobre el comando de límite de tiempo, lea la página del manual de límite de tiempo usando el comando man:
man timelimit
Publicación traducida automáticamente
Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA