Inicio > Gestión de procesos > wait

wait: Esperar a que las tareas en segundo plano finalicen

El comando `wait` se utiliza para esperar a que un trabajo (job) o proceso (PID) en segundo plano especificado termine. Es especialmente útil en scripts donde se ejecutan múltiples tareas simultáneamente y se necesita esperar a que todas ellas finalicen antes de continuar.

Resumen

`wait`, que significa 'esperar', detiene la ejecución del shell hasta que una tarea en segundo plano finaliza en un script de shell. Generalmente se usa cuando se han ejecutado varias tareas en paralelo en segundo plano usando el símbolo `&`, y se necesita esperar a que todas estas tareas terminen antes de proceder con la siguiente. Usar `wait` también permite que el script verifique el código de salida del proceso en segundo plano, lo cual es útil para determinar si la tarea se completó con éxito.

Características Principales

Las características principales del comando `wait` son las siguientes:

  • Espera la finalización de una tarea específica en segundo plano.
  • Puede especificar un número de trabajo (job number) o un ID de proceso (PID) como argumento.
  • Si se ejecuta sin argumentos, espera a que todas las tareas en segundo plano finalicen.
  • Es útil para sincronizar múltiples tareas paralelas en scripts de shell.

Opciones Principales

El comando `wait` recibe un número de trabajo o un PID como argumento, y es un comando simple con pocas opciones.

1) Opciones de Ejecución

2) Ayuda

Comando generado:

Combina los comandos.

Descripción:

`wait` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de Uso

Aprenda las funcionalidades del comando `wait` a través de varios ejemplos de uso.

Esperar a todas las tareas en segundo plano

sleep 5 &
sleep 10 &
jobs
wait
echo '모든 작업이 완료되었습니다.'

Ejecuta varias tareas `sleep` en segundo plano y luego espera a que todas ellas finalicen usando el comando `wait`.

Esperar a una tarea específica

sleep 10 &
sleep 5 &
jobs
wait %1
echo '1번 작업이 완료되었습니다.'

Espera a que el trabajo número 1 de dos tareas finalice. Verifique el número de trabajo con el comando `jobs` y use `wait %1`.

Esperar por ID de Proceso (PID)

sleep 10 &
PID=$!
echo "PID $PID 인 작업이 시작되었습니다."
wait $PID
echo "PID $PID 인 작업이 완료되었습니다."

En un script, guarde el PID de un proceso en segundo plano en una variable usando `$!` y luego espere a que ese PID termine.

Instalación

`wait` es un comando incorporado en el shell (bash, zsh, etc.), por lo que no requiere instalación adicional.

Consejos y Advertencias

Hemos recopilado puntos importantes a tener en cuenta al usar el comando `wait`.

Consejos

  • `wait` detiene la ejecución del shell hasta que el proceso en segundo plano finaliza. Si el proceso no termina, el shell seguirá esperando.
  • El código de estado de salida del comando `wait` es el mismo que el código de estado de salida del proceso esperado. Esto permite verificar el éxito de una tarea en un script.
  • Para usar un número de trabajo (`%1`), primero debe verificar las tareas en segundo plano del shell actual con el comando `jobs`. `$!` es una variable especial que contiene el PID del proceso ejecutado más recientemente en segundo plano.

Comandos de la misma categoría