GNU/Linux >> Tutoriales Linux >  >> Linux

Ponga un temporizador en sus comandos en ejecución con el comando de tiempo de espera en Linux

Con el comando de tiempo de espera puede establecer un límite de tiempo para ejecutar otros comandos y programas. Si el programa se ejecuta más tiempo que el límite establecido, el tiempo de espera lo elimina.

Suena bien, ¿verdad? Veamos cómo usar este comando.

Uso del comando timeout en Linux

Esta es la sintaxis del comando de tiempo de espera:

timeout [options] seconds command

Como puede ver, aquí el tiempo siempre se establece en segundos.

Tomemos un ejemplo con el comando de suspensión. El comando de suspensión básicamente "duerme" hasta el tiempo asignado. Lo que significa que solo espera esa cantidad de segundos.

timeout 4 sleep 10

Entonces, si uso sleep 10, el shell espera 10 segundos. Pero si pongo un tiempo de espera de 4 segundos, el comando de suspensión que se suponía que debía ejecutarse durante 10 segundos, finaliza en solo 4 segundos.

De forma predeterminada, el comando de tiempo de espera envía SIGTERM para eliminar cortésmente el programa en ejecución. Puede enviar alguna otra señal usando la opción -s.

Puedes ver todas las señales de eliminación en Linux con el comando kill -l. Digamos que desea enviar la señal SIGKILL (kill -9) en lugar de la predeterminada, SIGTERM. Puedes usar algo como esto:

timeout -s SIGKILL 3 sleep 30

También puede usar KILL o 9 (el número de SIGKILL que aparece en kill -l) en lugar de SIGKILL.

Matar un programa con fuerza no es algo agradable de hacer. Pero un programa puede ignorar SIGTERM.

Una mejor manera de manejar es enviar la señal de eliminación solo cuando el programa en ejecución ignora su solicitud de terminación inicial.

Entonces, digamos que desea ejecutar un programa no más de 5 segundos. Pero si el programa en ejecución se niega a detenerse, envía la señal de finalización 3 segundos después de enviar el SIGTERM predeterminado. Esto es lo que puede usar:

timeout -k 3 5 program

Esto significa que su programa no se ejecutará más de 8 segundos. Puede usar el comando de tiempo para verificar cuánto tiempo se ejecutó realmente el programa.

¿Existe un uso práctico del comando timeout?

Suena como uno de esos oscuros comandos de Linux que quizás no uses todos los días. Sin embargo, podría ser útil en algunas situaciones especiales.

Por ejemplo, si comenzó a jugar un juego de terminal para refrescar su estado de ánimo por un momento, pero perdió la noción del tiempo y siguió jugando mucho más tiempo del deseado.

El comando de tiempo de espera es útil en tales casos.

Estén atentos para aprender más comandos de Linux. Suscríbase al boletín para recibir consejos y trucos regulares.


Linux
  1. Ver comandos y tareas con el comando watch de Linux

  2. Comando JQ en Linux con ejemplos

  3. Ejecución de comandos de Linux en segundo plano y en primer plano

  4. Comandos Linux de la A a la Z

  5. Comando de eco de Linux

Cómo ejecutar un comando con límite de tiempo (tiempo de espera) en Linux

Comando ip de Linux con ejemplos

Comando de tiempo de espera en Linux

Comando de tiempo de espera de Linux explicado para principiantes (con ejemplos)

15 comandos ps de Linux con ejemplos

El comando del temporizador en Linux