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