V tomto tutoriálu prozkoumáme příkaz Bash Wait v systému Linux.
Syntax:
Obecná syntaxe příkazu Čekat v Linuxu je:
počkejte [možnost] ID
ID by bylo ID procesu nebo ID úlohy.
Vysvětlení příkazu Bash Wait v systému Linux:
Nejprve vytvořte soubor pomocí dotykového příkazu:
$dotekBashWait.sh
Vytvořte tento soubor spustitelným pomocí níže uvedeného příkazu:
$chmod+x název souboru
Jakmile jsou souboru udělena spustitelná oprávnění, otevřete soubor a napište skript do souboru bash:
#!/bin/bashspát 3 &
ID procesu=$!
vyhodil 'PID:$ processID'
Počkejte $ processID
vyhodil 'Stav ukončení: $?'
$! je proměnná v BASH, která ukládá PID nejnovějšího procesu.
Nyní spusťte skript následujícím způsobem:
$./název souboru$./BashWait.sh
V shellu se objeví ID procesu a stav Exist.
Použití volby –n:
S volbou –n čeká příkaz čekání pouze na dokončení jedné úlohy z zadaného ID procesu nebo specifikací úlohy, než vrátí stav ukončení. Wait -n čeká na dokončení jakékoli úlohy na pozadí a vrátí stav ukončení úlohy, pokud nejsou zadány žádné argumenty.
Do skriptu napište níže uvedené řádky:
#!/bin/bashspát 30 &
spát 8 &
spát 7 &
Počkejte -n
vyhodil 'První práce byla dokončena.'
Počkejte
vyhodil 'Všechny práce byly dokončeny.'
Dále spusťte skript znovu a po dokončení první úlohy vytiskne zprávu na terminálu a počká na dokončení všech ostatních úloh.
Pomocí možnosti –f:
Volba -f čeká na zastavení každého ID procesu nebo úlohy, než vrátí kód ukončení. Řízení úlohy je ve výchozím nastavení k dispozici pouze pro responzivní výzvy.
Otevřete terminál a spusťte příkaz:
Počkejte na proces 3944.
Chcete -li proces ukončit, otevřete jiné okno terminálu a spusťte příkaz kill.
Stav se změní. Příkaz Čekat se dokončí a vrátí kód ukončení procesu.
Výše uvedené kroky opakujte pomocí příkazu –f.
Skript s příkazem Čekat:
K demonstraci používáme skripty „hello.sh“ a „bash.sh“. Skript „hello.sh“ vytiskne čísla od 1 do 5 a skript „bash.sh“ zavolá hello.sh a spustí jej na pozadí, má PID hello.sh a čeká, až skončí.
Vytvořte dva skripty s názvem ahoj a bash:
Přidejte níže uvedené řádky do souboru hello.sh:
#!/bin/bashprojáv 1 2 3 4 5 6 7 8 9 10
dělat
vyhodilahoj.sh - Číslo smyčky$ i.
Hotovo
Přidejte do bash skriptu níže uvedené řádky:
#!/bin/bashvyhodilSpuštěno bash.sh
vyhodilSpuštěno ahoj.sh
./ahoj&
process_id=$!
Počkejte $ process_id
vyhodilDokončeno ahoj.sh
Výstup:
Závěr:
Když chce uživatel proces zastavit, systém uvolní všechny prostředky uchovávané procesem a čeká, až začne další. Po dokončení ostatních procesů budeme muset proces upozornit, že může restartovat spuštění. Příkaz wait v bash čeká na dokončení provádění a vrátí stav ukončení, když je provádění procesu dokončeno. V této příručce jsme viděli několik příkladů příkazu Bash wait v systému Linux.