wait ( команда) - wait (command)

редактировать
ждать
Разработчик (и) ATT Bell Laboratories
Первоначальный выпускноябрь 1973 г.; 46 лет назад (1973-11)
Операционная система Unix и Unix-подобная
Тип Команда

В оболочках Unix , wait- это команда , которая приостанавливается до завершения выполнения фонового процесса.

Содержание
  • 1 Использование
  • 2 Пример
  • 3 См. Также
  • 4 Внешние ссылки
Использование
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 есть страница по теме: Команды
Последняя правка сделана 2021-06-20 06:29:44
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте