second script funcion bash shell wait sleep

bash - script - Diferencia entre esperar y dormir.



sleep bash sh (5)

¿Cuál es la diferencia entre wait y sleep ?


Golpetazo

espere la ejecución de la secuencia de comandos de detención hasta que todos los trabajos que se ejecutan en segundo plano hayan finalizado o hasta que el número de trabajo o la ID del proceso especificada como una opción finalice

wait%1 or wait $PID wait ${!}

wait $ {!} significa "esperar hasta que se complete el último proceso en segundo plano" ($! es el PID del último proceso en segundo plano)

Dormir

agregar retraso por un período de tiempo especificado.

sleep NUMBER[SUFFIX] sleep 5 (sleep five seconds)


Prueba esto:

sleep 10 & wait %1


esperar es un comando incorporado de BASH. De man bash :

wait [n ...] Wait for each specified process and return its termination sta- tus. Each n may be a process ID or a job specification; if a job spec is given, all processes in that job''s pipeline are waited for. If n is not given, all currently active child pro- cesses are waited for, and the return status is zero. If n specifies a non-existent process or job, the return status is 127. Otherwise, the return status is the exit status of the last process or job waited for.

sleep no es un comando incorporado de shell. Es una utilidad que se demora por un período de tiempo específico.

El comando de sleep puede soportar la espera en varias unidades de tiempo. GNU coreutils 8.4 man sleep dice:

SYNOPSIS sleep NUMBER[SUFFIX]... DESCRIPTION Pause for NUMBER seconds. SUFFIX may be ‘s’ for seconds (the default), ‘m’ for minutes, ‘h’ for hours or ‘d’ for days. Unlike most implemen- tations that require NUMBER be an integer, here NUMBER may be an arbi- trary floating point number. Given two or more arguments, pause for the amount of time specified by the sum of their values.


sleep solo retrasa la cáscara durante la cantidad dada de segundos.

wait hace que el shell espere el subproceso dado. p.ej:

workhard & [1] 27408 workharder & [2] 27409 wait %1 %2

retrasa el shell hasta que ambos subprocesos hayan finalizado


wait espera a que termine un proceso; sleep duerme durante una cierta cantidad de segundos.