Składnia:
pułapka [-lp] [[arg] sygnał_spec…]
Lub
pułapka [działanie] [sygnał]
Klucz | Opis |
-L | Służy do wyświetlania listy wszystkich nazw sygnałów z odpowiednim numerem. |
-P | Służy do wyświetlania polecenia sygnału lub polecenia TRAP dla Signal_Spec. |
arg | Służy do wykonywania polecenia, gdy powłoka odbiera sygnał (y). |
Signal_spec | Zawiera nazwę sygnału lub numer sygnału. |
Polecenie TRAP bez żadnej opcji i arg
Uruchom następujące polecenie z terminala, aby wyświetlić listę wszystkich poleceń powiązanych z każdym warunkami. Jeśli jakiekolwiek polecenie „pułapka” nie jest ustawione wcześniej, następujące polecenie nie wyświetli żadnych informacji.
$ pułapka
Polecenie TRAP z opcją -l
Uruchom następujące polecenie z terminala, aby wyświetlić listę wszystkich nazw sygnałów z numerem.
$ pułapka -l
Wyjście powyższego polecenia wyświetli listę 64 sygnałów z liczbami.
Ustaw polecenie Trap dla ERR i Exit
Poniższe pierwsze polecenie ustawi polecenie „pułapka”, które zostanie wykonane, gdy wystąpi jakikolwiek błąd powłoki lub wychodzi z powłoki. To polecenie „pułapka” usunie Temp.tekst Plik z bieżącej lokalizacji. Polecenie „LS” służy do sprawdzenia Temp.tekst Plik istnieje lub nie w bieżącej lokalizacji. W końcu Wyjście Polecenie służy do zamykania terminalu i wykonania polecenia „pułapka”, które jest ustawione wcześniej.
$ TRAP 'RM TEMP.TXT 'ERR EXIT
$ ls
$ exit
Następujące dane wyjściowe pojawią się po uruchomieniu powyższych poleceń.
Teraz, jeśli użytkownik ponownie otworzy terminal po wyjściu i wykonuje polecenie „LS”, to Temp.tekst Plik nie będzie istniał.
Ustaw polecenie „pułapka” z numerem sygnału SIGUP, SIGQUIT i SIGKILL
Liczba sygnału Sigup, Sigquit I Sigkill są 1, 3 i 9. Poniższe pierwsze polecenie ustawi pułapkę dla tych trzech sygnałów. Kiedy pojawi się którykolwiek z tych sygnałów, wiadomość „Polecenie Trap jest wykonywane„Wydrukuje. Uruchom następujące polecenie z terminala.
Wykonane polecenie pułapki $ pułapki '1 3 9
Kiedy użytkownik naciśnie Ctrl+c Aby wygenerować przypisanie sygnału przez polecenie „pułapka”, a następnie 'Echo' Polecenie polecenia TRAP zostanie wykonane i pojawi się następujące dane wyjściowe.
Ustaw polecenie „pułapka” dla Sigterm w skrypcie
Sigterm Sygnał służy do natychmiastowego zakończenia procesu poprzez zwolnienie jego zasobów. Utwórz plik bash o nazwie 'Trapscript.cii„Z następującym kodem. Nieskończona pętla jest zadeklarowana w skrypcie, który będzie drukował tekst w sposób ciągły Sigterm Występuje sygnał. Użytkownik musi naciskać Ctrl+z generować Sigterm sygnał.
Trapscript.cii
#!/bin/bash
# Ustaw pułapkę dla sygnałów SIGINT i SIGTERM
pułapka „echo program jest zakończony.„Sigerm Sigint
#Display wiadomość do wygenerowania sigterm
echo „Naciśnij Ctrl+Z Zatrzymaj proces”
#Initializuj zmienną kontratakową, i
i = 1
#Declare nieskończone dla pętli
Do(;;)
Do
#Print Wiadomość z licznikiem i
echo „Uruchamianie pętli za $ i czasy”
#Increment the Counter by One
((i ++))
zrobione
Uruchom skrypt, wykonując następujące polecenie i naciśnij Ctrl+Z, aby wygenerować Sigterm sygnał. Pojawi się następujące podobne wyjście.
$ Bash Trapprisc.cii
Ustaw polecenie „pułapka”, aby uruchomić funkcję na podstawie konkretnego sygnału
Możesz powiązać polecenie „pułapka” z dowolną funkcją zdefiniowaną przez użytkownika. Utwórz bash o nazwie Trapfunc.cii i dodaj następujący skrypt. Tutaj wymieniona funkcja niestandardowa func () jest zadeklarowany do wydrukowania prostej wiadomości, "Zadanie ukończone". Pętla jest zdefiniowana do odczytu i drukowania listy wszystkich plików i folderów bieżącego katalogu roboczego. 'pułapka' polecenie zdefiniowane na początku listy wywoła funkcję, func () Kiedy program kończy.
Trapfunc.cii
#!/bin/bash
# Wywołaj funkcję FUNC na wyjściu
Wyjście z pułapki Func
# Deklaruj funkcję
funkcja func ()
Echo „Zadanie zakończone”
# Przeczytaj pliki i foldery bieżącej listy katalogów za pomocą pętli
bo w *
Do
echo „$ i”
zrobione
Uruchom skrypt z terminalu.
Uruchom skrypt.
$ Bash Trapfunc.cii
Pokazuje to następujące dane wyjściowe, "Zadanie ukończone”Tekst jest drukowany po wydrukowaniu wszystkich plików i folderów bieżącego katalogu.
Ten samouczek pokazuje, w jaki sposób polecenie „pułapki” można użyć w Linux do wykonania dowolnego zautomatyzowanego zadania na podstawie wygenerowanego sygnału. Pomaga użytkownikom śledzić różne rodzaje błędów i podejmować właściwe działania, które można przypisać wcześniej za pomocą tego polecenia. Wiele programów lub skryptów przeznacza niektóre szczególne zasoby podczas pracy w systemie. Jeśli jakikolwiek uruchomiony program lub scenariusz wyjść lub zakończyć nienormalnie, zasoby użyte przez ten program są zablokowane. Polecenie „pułapka” można użyć do rozwiązania tego problemu. Zadanie czyszczenia zasobów można łatwo wykonać za pomocą tego polecenia. Mam nadzieję, czytelnik otrzyma jasne wyobrażenie o zastosowaniach tego polecenia po przeczytaniu tego samouczka.