Командата Bash Wait в Linux

Bash Wait Command Linux



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

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