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