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