GNU/Linux >> Tutoriales Linux >  >> Linux

Comando de espera en Linux explicado con ejemplos

La espera el comando viene integrado con Linux; por lo tanto, puede encontrarlo en cualquiera de las distribuciones de Linux. Se utiliza para esperar antes de que se complete un proceso en ejecución. Para que funcione, debe usarlo con una identificación de trabajo o una identificación de proceso.

En pocas palabras, la espera El comando con un ID de trabajo o ID de proceso determinado esperará a que el proceso se complete y devolverá su estado de terminación.

Esperar El comando es útil cuando se trata de administrar un flujo de trabajo de automatización. Puede ayudarlo a configurar el flujo correctamente para que la automatización sea exitosa. Por ejemplo, su proceso de automatización requiere que un módulo en particular termine de ejecutarse antes de que el siguiente módulo entre en vigencia. El comando de espera te permite hacerlo.

Funcionamiento de la espera comando

El comando monitoreará el proceso anterior. Una vez que el proceso anterior devuelva un estado, enviará un estado de salida. Por lo tanto, si está esperando que se complete un proceso con ID 25351, el comando de espera esperará a que se complete antes de enviar el estado de salida. El mensaje de respuesta contendrá el estado de salida del proceso.

Sintaxis general:

wait [Processid] [jobid]
  • Id. de proceso –> Si usa la Id. de proceso (esperar PID), entonces esperará a que finalice la utilidad
  • Id. de trabajo –> En este caso, esperará el proceso en segundo plano que haya seleccionado. Solo funciona en el entorno de ejecución de shell actual.

El comando de salida está configurado para superar un valor superior a 128 si el proceso finaliza abruptamente. Por lo tanto, si ve una cantidad superior a 128, significa que el proceso no funcionó como se esperaba.

El estado de salida exitosa se establece en 0. Solo ocurre si el proceso finaliza correctamente sin ningún proceso secundario ejecutándose en el shell actual. Sin embargo, si no recibe 0 como estado de salida, significa que hay algún error. Se notifica con un valor entre 1 y 126. Además, si obtiene un estado de salida de 127, eso significa que la identificación del proceso es desconocida.

Ejemplos prácticos

Para obtener una mejor comprensión, veamos algunos de los ejemplos prácticos a continuación.

Esperar comando con múltiples procesos

En este ejemplo, veremos cómo esperar El comando funciona con varios procesos. Crearemos un script donde ejecutamos dos comandos y luego los esperamos.

Nombramos el script multiple.sh . A continuación se muestra el código para ello.

#!/bin/bash
echo "testing the wait command instance 1" &
process_id=$!
echo "testing the wait command instance 2" &
wait $process_id
echo Job 1 is completed and exited with status $?
echo Job 2 is completed and existed with status $?

Lo anterior también es un ejemplo de un script con el comando de espera. Además, devuelve el estado. Para obtener una mejor comprensión, repasemos el guión línea por línea. En la primera línea, importamos el bash que vamos a usar para ejecutar el script.

A continuación, repetiremos en el shell que estamos probando el comando de espera. Almacenamos la identificación del proceso del primer proceso en la variable $process_id. Ahora, esperamos a que se ejecute el primer proceso. Una vez hecho esto, se mostrará que el primer proceso se completó y también se mostrará el estado con el "$?"

Además, puede ver que el segundo comando de espera se usa con “$!”. Esto significa que usamos la segunda identificación del proceso con el comando de espera.

Al final, ambos procesos se ejecutan por completo y devuelven un estado de salida de 0.

Eliminar un proceso y usar esperar comando

En el segundo ejemplo, eliminaremos un proceso y luego usaremos esperar dominio. Llamemos a nuestro script, killandwait.sh.

#! /bin/bash
echo "Killing process and using wait command"
sleep 10 &
procc_id=$!
kill $procc_id
wait $procc_id
echo $procc_id is terminate

Si ejecuta el script anterior, obtendrá el siguiente resultado:

Como puede ver, ese estado de salida es diferente y se lee cuando finaliza el proceso. Este ejemplo le muestra cómo el comando devuelve diferentes estados de salida según el destino del proceso.

Comprobando el valor del estado de salida

En el último ejemplo, revisaremos un script que usa check() función. El verificar() La función toma dos argumentos. Llamemos a nuestro script waitandcheck.sh .

Aquí definimos una función:

function check()
{
echo "Let's sleep for $1 seconds"
sleep $1
exit $2
}

Como puede, esta función primero hace eco de cuánto tiempo dormirá el primer proceso y luego los usará para dormir y salir del proceso. Tomamos entrada usando las siguientes líneas:

check $1 $2 &
b=$!
echo "checking the status"
wait $b && echo FINE || echo NOT FINE

En las líneas anteriores, tomamos la entrada del usuario y luego mostramos el estado usando esperar comando.

Conclusión

Eso es todo sobre la espera Uso de comandos en Linux. Como ha experimentado, se le puede dar un buen uso en el flujo de trabajo de automatización. ¿Cómo se usa el comando? ¿Encontró usos adicionales a los cubiertos en este artículo? Comparta sus pensamientos con nuestros lectores.


Linux
  1. Comando Bash wait con ejemplos

  2. Comando wc Linux con ejemplos

  3. Comando de apagado de Linux explicado con ejemplos

  4. Comando Traceroute de Linux, explicado con ejemplos

  5. Comando JQ en Linux con ejemplos

Comando de espera en Linux con ejemplos

Comando Tr en Linux explicado con ejemplos

w Comando explicado con ejemplos en Linux

Comando de espera en Linux explicado con ejemplos prácticos

Explicación del comando tee de Linux (con ejemplos)

Explicación del comando csplit de Linux (con ejemplos)