W tym samouczku zbadamy polecenie Bash Wait w Linux.
Składnia:
Ogólna składnia polecenia Wait w Linux to:
Poczekaj [opcja] identyfikator
ID byłby identyfikatorem procesu lub identyfikatorem zadania.
Wyjaśnienie polecenia Bash Wait w Linux:
Najpierw utwórz plik za pomocą polecenia dotykowego:
$ Touch Bashwait.cii
Udaj ten plik wykonywalny za pomocą poniższego polecenia:
$ chmod +x nazwa pliku
Po przyznaniu pliku uprawnień wykonywalnych otwórz plik i zapisz skrypt w pliku Bash:
#!/bin/bash
Sleep 3 &
ProcessId = $!
echo „PID: $ processID”
Poczekaj $ processId
Echo „Status wyjścia: $?"
$! jest zmienną w BASH, która przechowuje PID ostatniego procesu.
Teraz uruchom skrypt w następujący sposób:
$ ./Nazwa pliku
$ ./Bashwait.cii
Identyfikator procesu i istnienie statusu pojawią się w powłoce.
Korzystanie z opcji -n:
Dzięki opcji -n polecenie Wait czeka tylko na jedno zadanie z dostarczonego identyfikatora procesu lub specyfikacji zadania, zanim zwróci status wyjścia. Poczekaj -nie czeka na zakończenie jakiegokolwiek zadania w tle i zwróci status wyjścia z pracy, jeśli nie podano argumentów.
Wpisz poniższe wiersze w swoim skrypcie:
#!/bin/bash
spać 30 i
Sleep 8 &
Sleep 7 &
Poczekaj -n
Echo „Pierwsze zadanie zostało zakończone."
Czekać
echo „Wszystkie zadania zostały zakończone."
Następnie uruchom skrypt ponownie, a po zakończeniu pierwszego zadania, wydrukuje wiadomość na terminalu i poczekać na zakończenie wszystkich innych zadań.
Korzystanie z opcji -f:
Opcja -f czeka na zatrzymanie każdego identyfikatora procesu lub zadania przed zwrotem kodu wyjścia. Kontrola zadań jest domyślnie dostępna tylko dla responsywnych monitów.
Otwórz polecenie terminala i uruchom:
Poczekaj na proces 3944.
Otwórz inne okno terminalu i wykonaj polecenie zabójstwa, aby zakończyć proces.
Status zostanie zmieniony. Polecenie oczekiwania zakończy i zwróci kod wyjścia procesu.
Powtórz powyższe kroki za pomocą polecenia -f.
Skrypt z poleceniem Wait:
Używamy „Hello.sh 'i „bash.Skrypty sh 'do demonstracji. „Witam”.Skrypt SH 'drukuje liczby od 1 do 5 i „bash.Skrypt SH 'Hello.sh i uruchamia go w tle, mając PID witania.sh i czekam, aż się to zakończy.
Utwórz dwa skrypty z nazwą Hello i Bash:
Dodaj poniższe linie w Hello.Plik SH:
#!/bin/bash
dla i w 1 2 3 4 5 6 7 8 9 10
Do
Echo „Witaj.SH - numer pętli $ i."
zrobione
Dodaj poniższe wiersze w skrypcie Bash:
#!/bin/bash
echo „zaczął bash.cii"
Echo „Zaczął cześć.cii"
./Witam.cii &
proces_id = $!
Poczekaj $ process_id
Echo „Ukończyło cześć.cii
Wyjście:
Wniosek:
Kiedy użytkownik chce zatrzymać proces, system uwalnia wszystkie zasoby przechowywane przez proces i czeka na rozpoczęcie kolejnego. Musimy powiadomić proces, że może on ponownie uruchomić wykonywanie po zakończeniu innych procesów. Polecenie oczekiwania w Bash czeka na zakończenie wykonania i zwraca status wyjścia po zakończeniu procesu wykonania. W tym podręczniku widzieliśmy kilka przykładów polecenia Bash Wait w Linux.