подожди (команда)
Разработчик(и) | AT&T Bell Laboratories |
---|---|
Первоначальный выпуск | ноябрь 1973 года |
Операционная система | Unix и Unix-подобные |
Тип | Команда |
В Unix оболочках wait
— это команда выполнение фонового процесса , которая приостанавливается до тех пор, пока не завершится .
Использование
[ редактировать ] wait [n]
где n — это идентификатор pid или задания текущего фонового процесса (задания). Если n не задано, команда ожидает завершения всех заданий, известных вызывающей оболочке.
wait обычно возвращает статус завершения последнего завершенного задания. Он также может вернуть 127, если n указывает несуществующее задание, или ноль, если не было заданий, которые нужно было бы ожидать.
Потому что wait
необходимо знать таблицу заданий текущей среды выполнения оболочки, она обычно реализуется как встроенная оболочка оболочки .
Пример
[ редактировать ]Эта команда может быть полезна, когда часть сценария может выполняться параллельно, чтобы реализовать барьер, при котором следующий раздел зависит от успешного завершения предыдущих разделов.
В следующем примере будет получен каталог src/ с компьютера с именем iona с помощью rsync и одновременно обновлены библиотеки, от которых зависит эта программа, прежде чем создавать комбинацию.
#!/usr/bin/env bash
# Parallel update script which makes use of the wait command
# Update local copy
rsync iona:src/ . &
# Upgrade required libraries, or exit indicating failure if make failed for some reason
make -C lib || exit 1
# Wait for rsync to terminate (may have already happened) and finish the job
wait
make
Дождитесь указанного идентификационного номера управления заданием:
$ ls -R / > /dev/null 2>&1 & # start any long running background process
[2] 1986
$ wait %2 # waits for background job number 2 to terminate, then returns
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]