V tomto kurzu prozkoumáme příkaz Bash Wait v systému Linux.
Syntax:
Obecná syntaxe příkazu Wait v systému Linux 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:
$ touch BashWait.sh
Udělejte tento soubor spustitelný pomocí následujícího příkazu:
$ chmod + x název souboru
Jakmile jsou souboru udělena oprávnění ke spuštění, otevřete soubor a napište skript do souboru bash:
#!/ bin / bashspát 3 a
processID = $!
echo "PID: $ processID"
počkejte $ processID
echo "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 procesu se zobrazí ID procesu a stav Exist.
Pomocí volby -n:
S volbou -n čeká příkaz čekání pouze na dokončení jedné úlohy z poskytnutého ID procesu nebo specifikací úlohy, než se vrátí její stav ukončení. Čekat -n čeká na dokončení jakékoli úlohy na pozadí a vrátí stav ukončení úlohy, pokud nejsou poskytnuty žádné argumenty.
Do skriptu napište níže uvedené řádky:
#!/ bin / bashspát 30 a
spát 8 a
spát 7 a
počkejte -n
echo "První úloha byla dokončena."
Počkejte
echo "Všechny úlohy 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í volby -f:
Možnost -f čeká na zastavení každého ID procesu nebo úlohy před vrácením kódu ukončení. Řízení úloh 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.
Otevřete jiné okno terminálu a ukončete proces spuštěním příkazu kill.
Stav bude změněn. Příkaz Wait dokončí a vrátí kód ukončení procesu.
Výše uvedené kroky opakujte s příkazem -f.
Skript s příkazem Wait:
Používáme „ahoj.sh 'a' bash.skripty pro demonstraci. „Ahoj.skript sh 'vytiskne čísla od 1 do 5 a' bash.skript volá ahoj.sh a spustí jej na pozadí s PID ahoj.sh a čeká, až to skončí.
Vytvořte dva skripty s názvem hello a bash:
Přidejte níže uvedené řádky do hello.soubor sh:
#!/ bin / bashpro i v 1 2 3 4 5 6 7 8 9 10
dělat
ozvěna „ahoj.sh - číslo smyčky $ i.“
Hotovo
Přidejte níže uvedené řádky do bash skriptu:
#!/ bin / bashecho „Spuštěno bash.sh “
echo „Started ahoj.sh “
./Ahoj.sh &
process_id = $!
počkejte $ process_id
echo „Dokončeno ahoj.sh
Výstup:
Závěr:
Když chce uživatel zastavit proces, systém uvolní všechny prostředky uchovávané procesem a čeká na spuštění dalšího. Po dokončení dalších procesů budeme muset upozornit proces, že může restartovat provádění. Příkaz wait v bash čeká na dokončení provádění a po ukončení procesu vrátí stav ukončení. V této příručce jsme viděli několik příkladů příkazu Bash wait v Linuxu.