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 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