В този урок ще разгледаме командата Bash Wait в Linux.
Синтаксис:
Общият синтаксис на командата Wait в Linux е:
изчакайте [опция] ID
ID ще бъде идентификатор на процес или ID на работа.
Обяснение на командата Bash Wait в Linux:
Първо, създайте файл, като използвате командата за докосване:
$ touch BashWait.ш
Направете този файл изпълним, като използвате командата по-долу:
$ chmod + x име на файл
След като изпълнителните привилегии бъдат предоставени на файла, отворете файла и напишете скрипт в bash файл:
#!/ bin / bashспи 3 &
processID = $!
ехо "PID: $ processID"
изчакайте $ processID
echo "Състояние на изход: $?"
$! е променлива в BASH, която съхранява PID на най-новия процес.
Сега стартирайте скрипта, както следва:
$ ./име на файл$ ./ BashWait.ш
Идентификаторът на процеса и Съществуващото състояние ще се появят в черупката.
Използване на опция -n:
С опцията -n командата за изчакване чака само една задача от предоставения идентификатор на процеса или спецификациите на заданието да завърши, преди да върне състоянието си на излизане. Изчакайте -n изчаква да завърши някое фоново задание и връща състоянието на изход на заданието, ако не са предоставени аргументи.
Напишете долните редове във вашия скрипт:
#!/ bin / bashспи 30 &
спи 8 &
спи 7 &
изчакайте -n
echo "Първата работа е завършена."
изчакайте
echo "Всички задачи са завършени."
След това стартирайте скрипта отново и когато първата задача е завършена, той ще отпечата съобщението на терминала и ще изчака всички други задачи да бъдат завършени.
Използване на опция -f:
Опцията -f изчаква всеки идентификатор на процеса или работа да спре, преди да върне изходния код. Контролът на заданието по подразбиране е достъпен само за отзивчиви подкани.
Отворете терминала и изпълнете командата:
Изчакайте процес 3944.
Отворете различен терминален прозорец и изпълнете командата kill, за да прекратите процеса.
Състоянието ще бъде променено. Командата Wait ще завърши и върне кода за изход на процеса.
Повторете горепосочените стъпки с командата -f.
Скрипт с команда Wait:
Използваме „здравей“.sh 'и' bash.sh 'скриптове за демонстрация. Здравей.sh 'скриптът отпечатва числа от 1 до 5 и' bash.sh 'скрипт се обажда здравей.sh и го пуска във фонов режим, като има PID на здравей.ш и чака да свърши.
Създайте два скрипта с името hello и bash:
Добавете долните редове в здравей.sh файл:
#!/ bin / bashза i в 1 2 3 4 5 6 7 8 9 10
направете
ехо “здравей.sh - Цикъл номер $ i.”
Свършен
Добавете долните редове в скрипта на bash:
#!/ bin / bashехо „Започна баш.ш ”
ехо „Започна здравей.ш ”
./Здравейте.ш &
process_id = $!
изчакайте $ process_id
ехо „Завършен здравей.ш
Изход:
Заключение:
Когато потребителят иска да спре процес, системата освобождава всички ресурси, съхранявани от процеса, и изчаква друг да стартира. Ще трябва да уведомим процеса, че може да рестартира изпълнението, след като другите процеси са завършени. Командата за изчакване в bash чака да завърши изпълнението и връща състоянието на изход, когато изпълнението на процеса приключи. В това ръководство видяхме някои примери за командата Bash wait в Linux.