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 / bashitinapon '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 / bashpagpapaandarsuriin()
{
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.