Comando Bash Wait en Linux

La espera es un comando de Linux que devuelve un estado de salida después de esperar a que se complete el proceso en ejecución. Cuando se ejecutan varios procesos simultáneamente, el comando de espera solo puede realizar un seguimiento del último. Si el comando de espera no está asociado con un trabajo o ID de proceso, esperará a que se completen todos los procesos secundarios antes de devolver un estado de salida. El comando bash wait se utiliza a menudo con el comando ID de proceso o ID de trabajo.

En este tutorial, exploraremos el comando Bash Wait en Linux.

Sintaxis:

La sintaxis general del comando Wait en Linux es:

esperar ID de [opción]

El ID sería un ID de proceso o un ID de trabajo.

Explicando el comando Bash Wait en Linux:

Primero, cree un archivo usando el comando táctil:

$ touch BashWait.sh

Haga que este archivo sea ejecutable usando el siguiente comando:

$ chmod +x filename

Una vez que se otorgan los privilegios ejecutables al archivo, abra el archivo y escriba un script en el archivo bash:

#!/bin/bash

sleep 3 &amp

processID=$!

echo “PID: $processID

wait $processID

echo “Exit status: $?”

PS es una variable en BASH que almacena el PID del proceso más reciente.

Ahora, ejecute el script de la siguiente manera:

$ ./filename

$ ./BashWait.sh

Process ID y Exist status aparecerán en el shell.

Usando la opción –n:

Con la opción –n, el comando de espera solo espera a que finalice un único trabajo del ID de proceso o las especificaciones del trabajo proporcionados antes de devolver su estado de salida. Wait -n espera a que finalice cualquier trabajo en segundo plano y devuelve el estado de salida del trabajo si no se proporcionan argumentos.

Escriba las líneas que se dan a continuación en su guión:

#!/bin/bash

sleep 30 &amp

sleep 8 &amp

sleep 7 &amp

wait -n

echo “First job has been completed.”

wait

echo “All jobs have been completed.”

A continuación, ejecute el script nuevamente y cuando se complete el primer trabajo, imprimirá el mensaje en el terminal y esperará a que se completen todos los demás trabajos.

Usando la opción –f:

La opción -f espera a que se detenga cada ID de proceso o trabajo antes de devolver el código de salida. El control de trabajos está disponible solo para mensajes de respuesta de forma predeterminada.

Abra el terminal y ejecute el comando:

Espere el proceso 3944.

Abra una ventana de terminal diferente y ejecute el comando kill para terminar el proceso.

El estado cambiará. El comando Wait se completará y devolverá el código de salida del proceso.

Repita los pasos anteriores con el comando –f.

Script con comando Wait:

Estamos usando los scripts ‘hello.sh’ y ‘bash.sh’ para la demostración. El script ‘hello.sh’ imprime números del 1 al 5, y el script ‘bash.sh’ llama a hello.sh y lo ejecuta en segundo plano, con el PID de hello.sh y esperando a que termine.

Cree dos scripts con el nombre hello y bash:

Agregue las líneas dadas a continuación en el archivo hello.sh:

#!/bin/bash

for i in 1 2 3 4 5 6 7 8 9 10

do

      echo “hello.sh – Loop number $i.”

done

Agregue las líneas dadas a continuación en el script bash:

#!/bin/bash

echo “Started bash.sh”

echo “Started hello.sh”

./hello.sh &amp

process_id=$!

wait $process_id

echo “Completed hello.sh

Producción:

Conclusión:

Cuando un usuario desea detener un proceso, el sistema libera todos los recursos que mantiene el proceso y espera a que se inicie otro. Tendremos que notificar al proceso que puede reiniciar la ejecución una vez que se completen los otros procesos. El comando de espera en bash espera para completar la ejecución y devuelve el estado de salida cuando se completa la ejecución del proceso. En este manual, hemos visto algunos ejemplos del comando Bash wait en Linux.

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux