Bash Esperar proceso en segundo plano

Sheeraz Gul 20 junio 2023
Bash Esperar proceso en segundo plano

Este tutorial demuestra cómo esperar el proceso en segundo plano en Bash.

Bash Esperar proceso en segundo plano

El comando esperar en Bash se puede usar para esperar a que se completen todos los procesos en segundo plano. Este comando esperará el proceso y devolverá el estado de salida.

El comando esperar afectará el entorno de ejecución actual del shell, por lo que está integrado en Bash y otros shells.

La sintaxis del comando esperar es:

wait [Options] BackgroundProcessID

Donde el id BackgroundProcessID es el proceso o trabajo. El comando esperar esperará hasta que se completen todos los procesos y subprocesos para la ID dada.

Un ejemplo sencillo de un comando esperar puede ser:

wait 1234

El comando anterior esperará el proceso en segundo plano 1234. También podemos dar varios procesos, y luego el comando esperar esperará todos los procesos en segundo plano.

Ahora vamos a ejecutar un proceso en el proceso de fondo:

rsync -a /mn/c/Users/Sheeraz &

El comando anterior ejecutará un proceso en segundo plano y devolverá el trabajo y la identificación del proceso. Ver la salida:

[1] 37

Donde la identificación del trabajo es 1 y la identificación del proceso es 37.

Ahora para esperar el trabajo, ejecutamos el siguiente comando:

wait %1

Donde 1 era la identificación del trabajo. La salida de este comando es:

[1]+  Exit 23                 rsync -a /mn/c/Users/Sheeraz

Y para esperar el proceso, usamos el siguiente comando:

wait 37

El comando anterior esperará a que se complete el proceso en segundo plano 37. La mayoría de las veces, el comando esperar se usa en los archivos de script de Bash, lo que genera los procesos en segundo plano que se ejecutan en paralelo.

Aquí hay un ejemplo del archivo de script:

#!/bin/bash
sleep 30 &
ProcessId=$!
echo "PID: $ProcessId"
wait $ProcessId
echo "Exit status: $?"

La ejecución de este script generará el ID del proceso y el estado de salida del proceso en segundo plano. Ver la salida:

PID: 50
Exit status: 0
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Bash Background