Linux команди

Команда Bash Wait в Linux

Команда Bash Wait в Linux
Изчакването е команда на Linux, която връща състояние на изход след изчакване на пълен стартиращ процес. Когато няколко процеса се изпълняват едновременно, командата за изчакване може да проследява само последния. Ако командата за изчакване не е свързана с идентификатор на задача или процес, тя ще изчака всички дочерни процеси да завършат, преди да върне състояние на изход. Командата bash wait се използва често с идентификаторите на процеса или командата ID на заданието.

В този урок ще разгледаме командата 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.

Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...