Establecer el tiempo de espera en Bash comando

Dr. Muhammad Abdullah 15 febrero 2024
  1. el comando timeout en Batch Script
  2. Establecer timeout para cualquier otro comando o proceso
Establecer el tiempo de espera en Bash comando

Este artículo discutirá primero el concepto del comando tiempo de espera en el script de Batch. Después de esto, discutiremos la configuración del comando tiempo de espera para cualquier otro comando.

el comando timeout en Batch Script

timeout es una utilidad para pausar o retrasar durante un período específico. Este comando hace una cierta cantidad de interrupciones y crea una pausa en la interfaz de línea de comandos.

La sintaxis del comando timeout es la siguiente:

timeout /t <time in seconds> [/nobreak]

El comando timeout con /t se usa para crear un retraso seguido de <time in seconds>, un número entero de -1 a 100000, que representa la cantidad de tiempo en segundos para crear el retraso, y un opcional parámetro /nobreak.

Si usamos -1 con el comando timeout, creará un retraso por tiempo indefinido hasta que se presione cualquier tecla.

Considere el siguiente comando timeout:

timeout /t 5

El comando timeout /t 5 retrasa 5 segundos o hasta que no se pulse ninguna tecla. La salida del comando es la siguiente:

Tiempo de espera de lote - Salida 1

El parámetro opcional /nobreak se usa para ignorar cualquier pulsación de tecla durante el retraso creado por el comando timeout. Por ejemplo, considere el siguiente comando:

timeout /t 5 /nobreak

La salida del siguiente comando es la siguiente:

Tiempo de espera de lote - Salida 2

También podemos ocultar el mensaje de comando tiempo de espera. El comando timeout /t 5 > nul se usa para ocultar el mensaje del comando timeout redirigiendo el mensaje de salida a nul.

Establecer timeout para cualquier otro comando o proceso

Podemos retrasar un tiempo de espera para cualquier otro comando o proceso personalizado. Considere la siguiente secuencia de Batch comandos:

@echo off
start  notepad.exe
timeout /t 4
taskkill /f /im  notepad.exe > nul && (
   echo Task is killed.
   exit /b 31744
) || (
   echo No Command or Task to kill. The task is terminated in time.
)

En el Batch script anterior, usamos el comando @echo off para ocultar los comandos de ejecución desde el símbolo del sistema. El comando iniciar notepad.exe se utiliza para iniciar un proceso y abrir la ventana del editor del Bloc de notas.

El comando timeout /t 4 retrasa 4 segundos, seguido de un comando taskkill, que mata el proceso notepad.exe si aún no lo está.

Además, este script muestra la Tarea eliminada. en la terminal si el comando taskkill elimina el proceso notepad.exe.

Si el notepad.exe ya se eliminó durante el retraso del tiempo de espera, el comando taskkill no eliminará el notepad.exe y mostrará el mensaje de error junto con el siguiente resultado:

No Command or Task to kill. The task is terminated in time.