W tym samouczku omówimy polecenie Bash Wait w systemie Linux.
Składnia:
Ogólna składnia polecenia Wait w systemie Linux to:
czekaj [opcja] ID
ID będzie identyfikatorem procesu lub identyfikatorem zadania.
Wyjaśnienie polecenia Bash Wait w systemie Linux:
Najpierw utwórz plik za pomocą polecenia touch:
$ dotknij BashCzekaj.cii
Uczyń ten plik wykonywalnym, używając poniższego polecenia:
$ chmod +x nazwa pliku
Po przyznaniu uprawnień wykonywalnych do pliku, otwórz plik i napisz skrypt w pliku bash:
#!/bin/bashspać 3 i
identyfikator procesu=$!
echo "PID: $ID procesu"
czekaj $processID
echo "Stan wyjścia: $?"
$! jest zmienną w BASH, która przechowuje PID najnowszego procesu.
Teraz uruchom skrypt w następujący sposób:
$ ./Nazwa pliku$ ./BashCzekaj.cii
ID procesu i status Exist pojawią się w powłoce.
Używając opcji -n:
W przypadku opcji -n komenda wait czeka tylko na zakończenie pojedynczego zadania z podanego identyfikatora procesu lub specyfikacji zadania przed zwróceniem statusu zakończenia. Wait -n czeka na zakończenie dowolnego zadania w tle i zwraca status zakończenia zadania, jeśli nie podano argumentów.
Napisz podane poniżej linie w swoim skrypcie:
#!/bin/bashspać 30 i
spać 8 i
spać 7 i
czekaj - n
echo "Pierwsza praca została zakończona."
czekać
echo "Wszystkie zadania zostały zakończone."
Następnie uruchom skrypt ponownie, a po zakończeniu pierwszego zadania wydrukuje komunikat na terminalu i poczeka na zakończenie wszystkich innych zadań.
Używając opcji -f:
Opcja -f czeka na zatrzymanie każdego identyfikatora procesu lub zadania przed zwróceniem kodu zakończenia. Kontrola zadań jest domyślnie dostępna tylko dla responsywnych podpowiedzi.
Otwórz terminal i uruchom polecenie:
Poczekaj na proces 3944.
Otwórz inne okno terminala i wykonaj polecenie kill, aby zakończyć proces.
Status zostanie zmieniony. Polecenie Wait zakończy działanie i zwróci kod zakończenia procesu.
Powtórz powyższe kroki za pomocą polecenia -f.
Skrypt z poleceniem Wait:
Używamy „cześć”.sh” i „bash.sh' skrypty do demonstracji. Witaj.Skrypt sh' wypisuje liczby od 1 do 5 oraz 'bash.Skrypt woła cześć.sh i uruchamia go w tle, mając PID hello.sh i czekam aż to się skończy.
Utwórz dwa skrypty o nazwie hello i bash:
Dodaj poniższe linie na powitanie.plik sh:
#!/bin/bashdla mnie w 1 2 3 4 5 6 7 8 9 10
zrobić
echo „cześć.sh - numer pętli $i.”
gotowy
Dodaj poniższe linie w skrypcie bash:
#!/bin/bashecho „Rozpoczęto bash.ci”
echo „Zaczęło się cześć.ci”
./cześć.ona i
process_id=$!
czekaj $process_id
echo „Ukończone powitanie”.cii
Wynik:
Wniosek:
Gdy użytkownik chce zatrzymać proces, system zwalnia wszystkie zasoby przechowywane przez proces i czeka na uruchomienie kolejnego. Będziemy musieli powiadomić proces, że może wznowić wykonywanie po zakończeniu innych procesów. Polecenie wait w bash czeka na zakończenie wykonywania i zwraca status wyjścia po zakończeniu wykonywania procesu. W tym podręczniku widzieliśmy kilka przykładów polecenia Bash wait w systemie Linux.