V tomto výučbe sa budeme venovať príkazu 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:
Najskôr vytvorte súbor pomocou dotykového príkazu:
$ touch BashWait.š
Sprístupnite tento súbor pomocou nasledujúceho príkazu:
$ chmod + x názov súboru
Po udelení spustiteľných oprávnení súboru otvorte súbor a napíšte skript do súboru bash:
#!/ bin / bashspať 3 a
processID = $!
echo "PID: $ processID"
počkaj $ processID
echo "Výstupný stav: $?„
$! je premenná v BASH, ktorá ukladá PID najnovšieho procesu.
Teraz spustite skript nasledovne:
$ ./názov súboru$ ./ BashWait.š
ID procesu a existujúci stav sa zobrazia v shelli.
Použitie možnosti -n:
S voľbou -n čaká príkaz iba na to, aby sa dokončila jedna úloha z poskytnutého ID procesu alebo špecifikácie úlohy, kým sa vráti jej stav ukončenia. Čakať -n čaká na dokončenie akejkoľvek úlohy na pozadí a vráti stav ukončenia úlohy, ak nie sú poskytnuté žiadne argumenty.
Do skriptu napíšte nasledujúce riadky:
#!/ bin / bashspať 30 a
spať 8 a
spať 7 a
počkaj -n
echo „Prvá úloha bola dokončená.„
počkaj
echo „Všetky úlohy boli dokončené.„
Ďalej spustite skript znova a po dokončení prvej úlohy vytlačí správu na termináli a počká na dokončenie všetkých ďalších úloh.
Použitie možnosti -f:
Voľba -f počká na zastavenie každého id procesu alebo úlohy pred vrátením výstupného kódu. Kontrola úloh je predvolene k dispozícii iba pre responzívne výzvy.
Otvorte terminál a spustite príkaz:
Počkajte na proces 3944.
Otvorte iné okno terminálu a vykonaním príkazu kill ukončite proces.
Stav sa zmení. Príkaz Wait dokončí a vráti výstupný kód procesu.
Vyššie uvedené kroky zopakujte s príkazom -f.
Skript s príkazom Wait:
Používame „ahoj.sh 'a' bash.skripty na demonštráciu. „Ahoj.sh 'skript vytlačí čísla od 1 do 5 a' bash.skript volá ahoj.sh a spustí ho na pozadí s PID ahoj.š a čakám, až to skončí.
Vytvorte dva skripty s názvom ahoj a bash:
Pridajte do hello nižšie uvedené riadky.súbor sh:
#!/ bin / bashpre i v 1 2 3 4 5 6 7 8 9 10
robiť
echo “ahoj.sh - číslo slučky $ i.“
hotový
Pridajte do bash skriptu riadky uvedené nižšie:
#!/ bin / bashecho „Started bash.š “
echo „Started ahoj.š “
./Ahoj.š &
process_id = $!
počkaj $ process_id
echo „Dokončené ahoj.š
Výkon:
Záver:
Keď chce používateľ zastaviť proces, systém uvoľní všetky prostriedky, ktoré proces uchováva, a čaká na spustenie iného. Po dokončení ďalších procesov budeme musieť proces upozorniť, že môže znova spustiť vykonávanie. Príkaz wait v bash čaká na dokončenie vykonania a po ukončení vykonania procesu vráti stav ukončenia. V tejto príručke sme videli niekoľko príkladov príkazu Bash wait v systéme Linux.