Значение статуса выхода команды ожидания зависит от команды, указанной последним указанным операндом. Когда какой-либо процесс завершается ненормально, статус выхода будет больше 128 и должен отличаться от значений статуса выхода других команд. ждать Команда завершается со значением 0, когда она вызывает без операндов и все идентификаторы процессов, известные текущей оболочке, завершены. Если команда ожидания обнаруживает какую-либо ошибку, она возвращает любое значение от 1 до 126. Если последний идентификатор процесса неизвестен, команда ожидания завершается со значением 127. Как вы можете использовать команду ожидания в Linux, показано в этом руководстве.
Пример-1: Использование команды ожидания для нескольких процессов
После выполнения следующего сценария два процесса будут работать в фоновом режиме, а идентификатор процесса первой команды echo сохраняется в переменной $ process_id. Когда команда ожидания выполняется с $ process_id, следующая команда будет ждать завершения задачи первой команды echo. Вторая команда ожидания используется с ‘ $! ’И это указывает идентификатор последнего запущенного процесса. ‘ $? ’Используется для чтения значения статуса команды ожидания.
#! / bin / bash
выбросил 'test wait command1' &
process_idзнак равно$!
выбросил 'команда ожидания тестирования2' &
ждать $ process_id
выбросилРабота1вышел со статусом$?
ждать $!
выбросилРабота2вышел со статусом$?
Выход:
$трепатьwait1.sh
Пример-2: Тестовая команда ожидания после использования команды kill
В следующем сценарии команда ожидания выполняется после завершения процесса. Команда sleep выполняется как фоновый процесс, а команда kill выполняется для завершения текущего процесса. После этого выполняется команда ожидания с идентификатором завершенного процесса. В выходных данных будет показан идентификатор завершенного процесса.
#! / bin / bashвыбросил 'Тестирование команды ожидания'
спать двадцать &
пидзнак равно$!
убийство $ pid
ждать $ pid
выбросил $ pidбыл прекращен.
Выход:
$трепатьwait2.sh
Пример-3: Проверить значение статуса выхода
В следующем скрипте функция проверить() вызывается двумя значениями аргумента. В начале руководства обсуждается, что если команда ожидания выполнена успешно, значение выхода будет равно 0, и если команда ожидания обнаружит любую ошибку, она вернет любое значение от 1 до 126. Если после запуска сценария вы передадите 0 в качестве второго аргумента. значение, то команда ожидания завершается успешно, и если вы передадите какое-либо значение больше нуля, она завершится неудачно.
#! / bin / bashфункцияпроверить()
{
выбросил 'Сон на 1 доллар'
спать 1 доллар
выход 2 доллара
}
проверить1 доллар 2 доллара &
бзнак равно$!
выбросил 'Проверка статуса'
ждать $ млрд && выбросилOk|| выбросилНЕ ХОРОШО
Выход:
$трепатьwait3.sh3 0$трепатьwait3.sh3 5
Надеюсь, это руководство поможет правильно изучить команду use wait. В Linux есть еще одна команда с именем спать ждать определенное количество раз, но между этими командами есть некоторые различия. Если вам интересно узнать о команда сна тогда вы можете перейти по этой ссылке.