5 ответов:
wait-это встроенная команда BASH. От
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-это не встроенная команда оболочки. Это утилита, которая задерживается на определенное количество времени.
The
sleepкоманда может поддерживать ожидание в различных единицах времени. GNU coreutils 8.4man sleepговорит: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просто задерживает оболочку на заданное количество секунд.
waitзаставляет оболочку ждать заданного подпроцесса. например:workhard & [1] 27408 workharder & [2] 27409 wait %1 %2задерживает оболочку до завершения обоих подпроцессов
Баш
дождитесь выполнения команды stop script, пока все задания, выполняемые в фоновом режиме, не завершатся или пока номер задания или идентификатор процесса, указанный в качестве опции, не завершится
wait%1 or wait $PID wait ${!}подожди ${!} означает "дождаться завершения последнего фонового процесса" ($! будучи PID последнего фонового процесса)
сон
добавить задержку на заданное время.
sleep NUMBER[SUFFIX] sleep 5 (sleep five seconds)
Comments