V tomto návode sa pozrieme na príkaz Bash Wait v systéme Linux.
Syntax:
Všeobecná syntax príkazu Wait v systéme Linux je:
počkajte [možnosť] ID
ID by bolo ID procesu alebo ID úlohy.
Vysvetlenie príkazu Bash Wait v systéme Linux:
Najprv vytvorte súbor pomocou dotykového príkazu:
$dotýkať saBashWait.sh
Vykonajte spustiteľnosť tohto súboru pomocou nasledujúceho príkazu:
$chmod+x názov súboru
Keď sú súboru udelené spustiteľné oprávnenia, otvorte súbor a napíšte skript do súboru bash:
#!/bin/bashspať 3 &
processID=$!
zahodil „PID:$ processID'
počkaj $ processID
zahodil „Stav výstupu: $?“
$! je premenná v BASH, ktorá ukladá PID najnovšieho procesu.
Teraz skript spustite nasledovne:
$./názov súboru$./BashWait.sh
V shelle sa zobrazí ID procesu a stav Exist.
Použitie možnosti –n:
Pri voľbe –n príkaz čakanie čaká iba na dokončenie jednej úlohy z poskytnutého ID procesu alebo špecifikácií úlohy pred vrátením stavu ukončenia. Wait -n čaká na dokončenie akejkoľvek úlohy na pozadí a vráti stav ukončenia úlohy, ak nie sú zadané žiadne argumenty.
Do skriptu napíšte nasledujúce riadky:
#!/bin/bashspať 30 &
spať 8 &
spať 7 &
počkaj -n
zahodil 'Prvá práca bola dokončená.'
počkaj
zahodil 'Všetky úlohy boli dokončené.'
Potom skript znova spustite a po dokončení prvej úlohy vytlačí správu na termináli a počká na dokončenie všetkých ostatných úloh.
Použitie možnosti –f:
Voľba -f čaká na zastavenie každého ID procesu alebo úlohy, než vráti kód ukončenia. Kontrola úlohy je v predvolenom nastavení k dispozícii iba pre responzívne výzvy.
Otvorte terminál a spustite príkaz:
Počkajte na proces 3944.
Proces ukončíte otvorením iného okna terminálu a spustením príkazu kill.
Stav sa zmení. Príkaz Čakať sa dokončí a vráti kód ukončenia procesu.
Vyššie uvedené kroky zopakujte s príkazom –f.
Skript s príkazom Čakať:
Na ukážku používame skripty „hello.sh“ a „bash.sh“. Skript „hello.sh“ vytlačí čísla od 1 do 5 a skript „bash.sh“ zavolá hello.sh a spustí ho na pozadí, pričom má PID hello.sh a čaká, kým sa skončí.
Vytvorte dva skripty s názvom ahoj a bash:
Pridajte nižšie uvedené riadky do súboru hello.sh:
#!/bin/bashpreiv 1 2 3 4 5 6 7 8 9 10
urobiť
zahodilahoj.sh - Číslo slučky$ i.
hotový
Pridajte nasledujúce riadky do bash skriptu:
#!/bin/bashzahodilSpustené bash.sh
zahodilSpustené ahoj.sh
./ahoj&
process_id=$!
počkaj $ process_id
zahodilDokončené ahoj.sh
Výkon:
Záver:
Keď chce používateľ zastaviť proces, systém uvoľní všetky prostriedky, ktoré proces uchováva, a čaká, kým sa spustí ďalší. Po dokončení ostatných procesov budeme musieť tento proces upozorniť, že môže reštartovať spustenie. Príkaz wait v bash čaká na dokončenie spustenia a vráti stav ukončenia, keď je spustenie procesu dokončené. V tejto príručke sme videli niekoľko príkladov príkazu Bash wait v systéme Linux.