Příkaz Bash Wait v systému Linux

Bash Wait Command Linux



Wait je příkaz Linux, který vrací stav ukončení po čekání na dokončení spuštěného procesu. Pokud běží několik procesů současně, příkaz čekání může sledovat pouze ten poslední. Pokud příkaz čekání není přidružen k ID úlohy nebo procesu, počká na dokončení všech podřízených procesů, než vrátí stav ukončení. Příkaz bash wait se často používá s příkazem ID procesu nebo ID úlohy.

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

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

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

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

vyhodilSpuš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.