Wait Command sa Linux

Wait Command Linux



teka ay isang built-in na utos ng Linux na naghihintay para sa pagkumpleto ng anumang proseso ng pagpapatakbo. teka Ang utos ay ginagamit sa isang partikular na proseso ng id o job id. Kapag maraming mga proseso ang tumatakbo sa shell pagkatapos lamang ang proseso ng id ng huling utos ay malalaman ng kasalukuyang shell. Kung ang utos ng paghihintay ay naisagawa sa oras na ito, ilalapat ito para sa huling utos. Kung walang proseso ng id o job id na ibinigay na may paghihintay na utos, maghihintay ito para sa lahat ng kasalukuyang proseso ng bata upang makumpleto at maibalik ang katayuan ng exit.

Ang halaga ng exit status ng paghihintay na utos ay nakasalalay sa utos na ipinahiwatig ng huling tinukoy na operan. Kapag ang anumang proseso ay natapos nang hindi normal pagkatapos ang katayuan ng exit ay magiging mas malaki sa 128 at magkakaiba sa mga halaga ng katayuan ng exit ng iba pang mga utos. teka ang mga exit exit na may halagang 0 kapag tumawag ito nang walang mga operand at lahat ng mga proseso ng ID ay kilala ng kasalukuyang shell ay natapos na. Kung ang utos ng paghihintay ay nakakita ng anumang error pagkatapos ay ibabalik nito ang anumang halaga mula 1 hanggang 126. Kung ang huling proseso ng id ay hindi kilala pagkatapos ay maghintay ng exit na may exit 127. Kung paano mo magagamit ang wait command sa Linux ay ipinapakita sa tutorial na ito.







Halimbawa-1: Paggamit ng wait command para sa maraming proseso

Matapos maipatupad ang sumusunod na script, tatakbo ang dalawang proseso sa background at ang proseso ng id ng unang utos ng echo ay nakaimbak sa $ process_id variable. Kapag ang utos ng paghihintay ay naisakatuparan ng $ process_id pagkatapos ay ang susunod na utos ay maghihintay para sa pagkumpleto ng gawain ng unang utos ng echo. Ang pangalawang utos ng paghihintay ay ginagamit sa β€˜ $! ’At ipinapahiwatig nito ang proseso id ng huling proseso ng pagpapatakbo. β€˜ $? 'Ay ginagamit upang basahin ang katayuan ng halaga ng paghihintay na utos.



#! / baseng / bash
itinapon 'pagsubok maghintay command1' &
proseso_id=$!
itinapon 'pagsubok maghintay command2' &
teka $ proseso_id
itinaponTrabaho1lumabas sa katayuan$?
teka $!
itinaponTrabaho2lumabas sa katayuan$?

Output:



$bashteka1.sh





Halimbawa-2: Subukang maghintay ng utos pagkatapos gumamit ng kill command

Sa sumusunod na script, ang utos ng paghihintay ay naisakatuparan pagkatapos ng pagtatapos ng proseso. Ang command ng pagtulog ay tumatakbo bilang isang proseso sa background at ang kill command ay naisakatuparan upang wakasan ang proseso ng pagtakbo. Matapos ang paghihintay na utos ay naisakatuparan kasama ang proseso ng id ng natapos na proseso. Ipapakita ng output ang proseso ng id ng natapos na proseso.

#! / baseng / bash
itinapon 'Pagsubok ng paghihintay na utos'
matulog dalawampu &
pid=$!
patayin $ pid
teka $ pid
itinapon $ piday natapos na.

Output:



$bashwait2.sh

Halimbawa-3: Suriin ang halaga ng katayuan sa exit

Sa sumusunod na script, ang pagpapaandar suriin () ay tinawag ng dalawang halaga ng pagtatalo. Pinag-usapan sa simula ng tutorial na kung maghintay ng utos na matagumpay na naisakatuparan ang exit na halaga ay 0 at kung ang utos ng paghihintay ay nakakita ng anumang error pagkatapos ay ibabalik nito ang anumang halaga sa pagitan ng 1 at 126. Matapos patakbuhin ang script, kung ipasa mo ang 0 bilang pangalawang argumento halaga pagkatapos maghintay utos matagumpay na natapos at kung pumasa ka sa anumang halaga na higit sa zero pagkatapos ay nagtatapos ito nang hindi matagumpay.

#! / baseng / bash
pagpapaandarsuriin()
{
itinapon 'Matulog nang $ 1 segundo'
matulog $ 1
labasan $ 2
}
suriin$ 1 $ 2 &
b=$!
itinapon 'Sinusuri ang katayuan'
teka $ b && itinaponOK lang|| itinaponHINDI MAAYOS

Output:

$bashmaghintay3.sh3 0
$bashmaghintay3.sh3 5

Sana, makakatulong ang tutorial na ito upang malaman nang maayos ang paggamit ng paghihintay ng paggamit. May isa pang utos sa Linux, na pinangalanan matulog upang maghintay para sa tiyak na dami ng mga oras ngunit may ilang mga pagkakaiba sa pagitan ng mga utos na ito. Kung interesado kang malaman ang tungkol sa utos sa pagtulog pagkatapos ay maaari mong bisitahin ang link na ito.