Разработчики) | AT&T Bell Laboratories |
---|---|
Первый выпуск | Ноябрь 1973 г . |
Операционная система | Unix и Unix-подобные |
Тип | Командование |
В Unix - оболочках , wait
является командой , которая делает паузу до выполнения в фоновом процессе не закончилось.
Использование [ править ]
подождите [ n ]
где n - идентификатор pid или задания текущего выполняемого фонового процесса (задания). Если n не задано, команда ожидает завершения всех заданий, известных вызывающей оболочке.
wait обычно возвращает статус завершения последнего завершенного задания. Он также может вернуть 127, если n указывает на несуществующее задание, или ноль, если не было заданий для ожидания.
Поскольку wait
необходимо знать таблицу заданий текущей среды выполнения оболочки, она обычно реализуется как встроенная оболочка .
Пример [ править ]
Эта команда может быть полезна, когда часть сценария может выполняться параллельно для реализации барьера, где предстоящий раздел зависит от успешного завершения предыдущих разделов.
В следующем примере выполняется выборка каталога src / с машины с именем iona с помощью rsync и одновременное обновление библиотек, от которых зависит эта программа, перед построением комбинации.
#! / usr / bin / env bash# Сценарий параллельного обновления, использующий команду ожидания# Обновить локальную копию
rsync iona: src /. & # Обновить необходимые библиотеки или выйти с сообщением об ошибке, если make по какой-то причине не удалось
выполнить make -C lib || выход 1# Дождитесь завершения rsync (возможно, уже произошло) и завершите работу waitделать
Дождитесь указанного идентификатора управления заданием:
$ ls -R /> / dev / null 2 > & 1 & # запуск любого длительного фонового процесса [ 2 ] 1986
$ wait % 2 # ожидает завершения фонового задания номер 2, затем возвращает
См. Также [ править ]
Внешние ссылки [ править ]
В Wikibook Guide to Unix есть страница по темам: Команды |