Comando Bash Wait en Linux

Bash Wait Command 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 usa 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:





$tocarBashWait.sh

Haga que este archivo sea ejecutable usando el siguiente comando:



$chmod+ x nombre de archivo

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

#! / bin / bash

dormir 3 &

identificacion de proceso=$!

echo 'PID:$ processID'

Espere $ processID

echo 'Estado de salida: $?'

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

Ahora, ejecute el script de la siguiente manera:

$ ./nombre del archivo

$ ./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 proporcionado o de las especificaciones del trabajo 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 indican a continuación en su guión:

#! / bin / bash

dormir 30 &

dormir 8 &

dormir 7 &

Espere -norte

echo 'El primer trabajo se ha completado'.

Espere

echo 'Todos los trabajos se han completado'.

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 dados anteriormente 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, tiene el PID de hello.sh y espera 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

porIen 1 2 3 4 5 6 7 8 9 10

hacer

echohello.sh - Número de bucle$ i.

hecho

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

#! / bin / bash

echoIniciado bash.sh

echoComenzó hello.sh

./hello.sh&

identificacion de proceso=$!

Espere $ process_id

echoHello.sh completado

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.