Príkaz Bash Wait v systéme Linux

Bash Wait Command Linux



Wait je príkaz Linuxu, ktorý vracia stav ukončenia po čakaní na dokončenie spusteného procesu. Keď je spustených niekoľko procesov súčasne, príkaz čakania môže sledovať iba ten posledný. Ak príkaz čakania nie je spojený s ID úlohy alebo procesu, bude čakať, kým sa vrátia stav ukončenia, všetky podradené procesy. Príkaz bash wait sa často používa s príkazom ID procesu alebo ID úlohy.

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/bash

spať 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/bash

spať 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/bash

preiv 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/bash

zahodilSpustené 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.