Команда Басх Ваит у Линуксу

Bash Wait Command Linux



Чекање је наредба Линука која враћа статус изласка након чекања на потпуни покренути процес. Када се неколико процеса изводи истовремено, команда ваит може пратити само последњи. Ако команда ваит није повезана са ИД -ом посла или процеса, сачекаће да се сви подређени процеси заврше пре него што врати статус изласка. Команда басх ваит често се користи са командом ИД процеса или Јоб ИДс.

У овом водичу ћемо истражити команду Басх Ваит у Линуксу.







Синтакса:

Општа синтакса команде Ваит у Линуку је:



сачекајте [опција] ИД

ИД би био ИД процеса или ИД посла.



Објашњавање команде Басх Ваит у Линук -у:

Прво креирајте датотеку помоћу команде на додир:





$додирБасхВаит.сх

Учините ову датотеку извршном помоћу наредбе испод:



$цхмод+к назив датотеке

Када се датотеци додијеле извршне привилегије, отворите датотеку и напишите скрипту у басх датотеци:

#!/бин/басх

спавај 3 &

процессИД=$!

Избацио 'ПИД:$ процессИД'

чекати $ процессИД

Избацио 'Статус изласка: $?'

$! је променљива у БАСХ -у која чува ПИД најновијег процеса.

Сада покрените скрипту на следећи начин:

$./назив документа

$./БасхВаит.сх

ИД процеса и постојећи статус ће се појавити у љусци.

Коришћење –н опције:

Са опцијом –н, команда ваит само чека да се заврши један посао из наведеног ИД -а процеса или спецификација посла пре него што врати статус изласка. Ваит -н чека да се било који позадински посао заврши и враћа статус изласка из посла ако нису наведени аргументи.

Напишите испод наведене редове у своју скрипту:

#!/бин/басх

спавај 30 &

спавај 8 &

спавај 7 &

чекати

Избацио 'Први посао је завршен.'

чекати

Избацио 'Сви послови су завршени.'

Затим поново покрените скрипту и када први посао буде завршен, одштампаће поруку на терминалу и сачекати да се сви други послови заврше.

Коришћење опције -ф:

Опција -ф чека да се сваки ИД процеса или посао заустави пре него што врати излазну шифру. Подразумевано је контрола посла доступна само за респонзивне упите.

Отворите терминал и покрените команду:

Сачекајте процес 3944.

Отворите други прозор терминала и извршите наредбу килл да бисте прекинули процес.

Статус ће се променити. Команда Ваит ће довршити и вратити излазни код процеса.

Поновите горе наведене кораке помоћу команде –ф.

Скрипта са командом Ваит:

За демонстрацију користимо скрипте „хелло.сх“ и „басх.сх“. Скрипта „хелло.сх“ штампа бројеве од 1 до 5, а скрипта „басх.сх“ позива хелло.сх и покреће је у позадини, са ПИД -ом хелло.сх и чека да се заврши.

Направите две скрипте са именом хелло и басх:

Додајте доле наведене редове у датотеку хелло.сх:

#!/бин/басх

заиу 1 2 3 4 5 6 7 8 9 10

урадити

Избациохелло.сх - Број петље$ и.

Готово

Додајте доле наведене редове у басх скрипту:

#!/бин/басх

ИзбациоЗапочео басх.сх

ИзбациоЗапочео хелло.сх

./здраво.сх&

процесс_ид=$!

чекати $ процесс_ид

ИзбациоЦомплетед хелло.сх

Излаз:

Закључак:

Када корисник жели да заустави процес, систем ослобађа све ресурсе које процес задржава и чека да се други покрене. Мораћемо да обавестимо процес да може поново покренути извршавање када се заврше други процеси. Команда ваит у басх чека да заврши извршавање и враћа излазни статус када се извршавање процеса заврши. У овом приручнику видели смо неке примере команде чекања Басх у Линуку.