У овом водичу ћемо истражити команду Басх Ваит у Линуксу.
Синтакса:
Општа синтакса команде Ваит у Линуку је:
сачекајте [опција] ИД
ИД би био ИД процеса или ИД посла.
Објашњавање команде Басх Ваит у Линук -у:
Прво креирајте датотеку помоћу команде на додир:
$додирБасхВаит.сх
Учините ову датотеку извршном помоћу наредбе испод:
$цхмод+к назив датотеке
Када се датотеци додијеле извршне привилегије, отворите датотеку и напишите скрипту у басх датотеци:
#!/бин/басхспавај 3 &
процессИД=$!
Избацио 'ПИД:$ процессИД'
чекати $ процессИД
Избацио 'Статус изласка: $?'
$! је променљива у БАСХ -у која чува ПИД најновијег процеса.
Сада покрените скрипту на следећи начин:
$./назив документа$./БасхВаит.сх
ИД процеса и постојећи статус ће се појавити у љусци.
Коришћење –н опције:
Са опцијом –н, команда ваит само чека да се заврши један посао из наведеног ИД -а процеса или спецификација посла пре него што врати статус изласка. Ваит -н чека да се било који позадински посао заврши и враћа статус изласка из посла ако нису наведени аргументи.
Напишите испод наведене редове у своју скрипту:
#!/бин/басхспавај 30 &
спавај 8 &
спавај 7 &
чекати -н
Избацио 'Први посао је завршен.'
чекати
Избацио 'Сви послови су завршени.'
Затим поново покрените скрипту и када први посао буде завршен, одштампаће поруку на терминалу и сачекати да се сви други послови заврше.
Коришћење опције -ф:
Опција -ф чека да се сваки ИД процеса или посао заустави пре него што врати излазну шифру. Подразумевано је контрола посла доступна само за респонзивне упите.
Отворите терминал и покрените команду:
Сачекајте процес 3944.
Отворите други прозор терминала и извршите наредбу килл да бисте прекинули процес.
Статус ће се променити. Команда Ваит ће довршити и вратити излазни код процеса.
Поновите горе наведене кораке помоћу команде –ф.
Скрипта са командом Ваит:
За демонстрацију користимо скрипте „хелло.сх“ и „басх.сх“. Скрипта „хелло.сх“ штампа бројеве од 1 до 5, а скрипта „басх.сх“ позива хелло.сх и покреће је у позадини, са ПИД -ом хелло.сх и чека да се заврши.
Направите две скрипте са именом хелло и басх:
Додајте доле наведене редове у датотеку хелло.сх:
#!/бин/басхзаиу 1 2 3 4 5 6 7 8 9 10
урадити
Избациохелло.сх - Број петље$ и.
Готово
Додајте доле наведене редове у басх скрипту:
#!/бин/басхИзбациоЗапочео басх.сх
ИзбациоЗапочео хелло.сх
./здраво.сх&
процесс_ид=$!
чекати $ процесс_ид
ИзбациоЦомплетед хелло.сх
Излаз:
Закључак:
Када корисник жели да заустави процес, систем ослобађа све ресурсе које процес задржава и чека да се други покрене. Мораћемо да обавестимо процес да може поново покренути извршавање када се заврше други процеси. Команда ваит у басх чека да заврши извршавање и враћа излазни статус када се извршавање процеса заврши. У овом приручнику видели смо неке примере команде чекања Басх у Линуку.