Hodnota stavu ukončenia príkazu čakania závisí od príkazu označeného posledným zadaným operandom. Keď sa ktorýkoľvek proces ukončí neobvykle, potom bude výstupný stav väčší ako 128 a bude sa líšiť od hodnôt výstupného stavu iných príkazov. počkaj príkaz ukončí s hodnotou 0, keď volá bez operandov a všetky ID procesu sú známe aktuálnemu shellu, boli ukončené. Ak príkaz čakania zistí akúkoľvek chybu, vráti ľubovoľnú hodnotu od 1 do 126. Ak je posledné ID procesu neznáme, potom čaká na ukončenie príkazu s hodnotou 127. V tomto výučbe sa dozviete, ako môžete použiť príkaz čakania v systéme Linux.
Príklad-1: Použitie príkazu wait na viac procesov
Po vykonaní nasledujúceho skriptu budú na pozadí bežať dva procesy a ID procesu prvého príkazu echo sa uloží do premennej $ process_id. Keď je príkaz čakania vykonaný s $ process_id, ďalší príkaz bude čakať na dokončenie úlohy prvého príkazu echo. Druhý príkaz čakania sa používa s '$!'a toto označuje ID procesu posledného spusteného procesu. „$?'sa používa na načítanie stavovej hodnoty príkazu wait.
#!/ bin / bashecho "testing wait command1" &
process_id = $!
echo "testing wait command2" &
počkaj $ process_id
echo Úloha 1 bola ukončená so stavom $?
počkaj $!
echo Úloha 2 bola ukončená so stavom $?
Výkon:
$ bash čakať1.š
Príklad 2: Po použití príkazu kill otestujte príkaz wait
V nasledujúcom skripte sa po ukončení procesu vykoná príkaz čakania. príkaz spánku je spustený ako proces na pozadí a vykonaním príkazu zabitia sa proces ukončí. Potom sa vykoná príkaz čakania s ID procesu ukončeného procesu. Na výstupe sa zobrazí ID procesu ukončeného procesu.
#!/ bin / bashecho "Testovanie čakacieho príkazu"
spať 20 a
pid = $!
zabiť $ pid
počkaj $ pid
echo $ pid bolo ukončené.
Výkon:
$ bash wait2.š
Príklad 3: Skontrolujte hodnotu stavu výstupu
V nasledujúcom skripte je funkcia šek () sa volá dvoma hodnotami argumentov. Na začiatku tutoriálu sa hovorí o tom, že ak bude príkaz čakania vykonaný úspešne, výstupná hodnota bude 0 a ak príkaz čakania zistí akúkoľvek chybu, vráti ľubovoľnú hodnotu medzi 1 a 126. Ak po spustení skriptu zadáte 0 ako druhú hodnotu argumentu, potom sa príkaz wait úspešne ukončí a ak zadáte hodnotu väčšiu ako nula, potom sa ukončí neúspešne.
#!/ bin / bashkontrola funkcie ()
ozvena „Spánok na 1 $“
spať $ 1
výstup 2 doláre
skontrolovať $ 1 $ 2 &
b = $!
echo "Kontrola stavu"
počkaj $ b && echo OK || ozvena NIE JE v poriadku
Výkon:
$ bash wait3.sh 3 0$ bash wait3.sh 3 5
Dúfam, že tento tutoriál pomôže správne sa naučiť príkaz use use. V systéme Linux existuje ďalší príkaz s názvom spať počkať na určitý počet opakovaní, ale medzi týmito príkazmi sú určité rozdiely. Ak vás zaujíma príkaz spánku, môžete navštíviť tento odkaz.