Príkazy pre Linux

Počkajte na príkaz v systéme Linux

Počkajte na príkaz v systéme Linux
počkaj je zabudovaný príkaz systému Linux, ktorý čaká na dokončenie ľubovoľného spusteného procesu. počkaj príkaz sa používa s konkrétnym ID procesu alebo ID úlohy. Keď je v shelli spustených viac procesov, potom bude súčasný shell poznať iba ID procesu posledného príkazu. Ak je tentokrát vykonaný príkaz čakania, bude použitý pre posledný príkaz. Ak s príkazom wait nie je zadané žiadne ID procesu alebo ID úlohy, bude čakať na dokončenie všetkých aktuálnych podradených procesov a vráti stav ukončenia.

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 / bash
echo "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 / bash
echo "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 / bash
kontrola 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.

Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...