Syntaks:
Trap [-lp] [[Arg] Signal_spec…]
eller
felle [handling] [signal]
Nøkkel | Beskrivelse |
-l | Den brukes til å vise listen over alle signalnavn med tilsvarende nummer. |
-p | Det brukes til å vise signalkommando eller felle -kommando for signal_spec. |
Arg | Den brukes til å utføre en kommando når skallet mottar signalet (e). |
signal_spec | Den inneholder signalnavn eller signalnummer. |
Felle kommando uten noe alternativ og arg
Kjør følgende kommando fra terminalen for å vise listen over alle kommandoer tilknyttet hver tilstand. Hvis noen "Trap" -kommando ikke er angitt før, vil ikke følgende kommando vise noen informasjon.
$ Trap
Felle kommando med -l -alternativet
Kjør følgende kommando fra terminalen for å vise listen over alle signalnavn med nummer.
$ Trap -l
Utgangen fra kommandoen ovenfor vil vise listen over 64 signaler med tall.
Angi felle -kommando for feil og avslutning
Følgende første kommando vil angi en "felle" -kommando som vil utføre når noen skallfeil oppstår eller skallutganger. Denne "felle" -kommandoen vil fjerne temp.tekst fil fra gjeldende plassering. 'ls' kommando brukes til å sjekke temp.tekst filen eksisterer eller ikke på det nåværende stedet. Til slutt exit Kommando brukes til å lukke terminalen og utføre 'Trap' -kommandoen som er satt før.
$ Trap 'RM Temp.TXT 'ERR EXIT
$ ls
$ exit
Følgende utgang vises etter å ha kjørt kommandoene ovenfor.
Nå, hvis brukeren åpner terminalen igjen etter avkjørsel og utfører 'LS' -kommando da temp.tekst filen vil ikke eksistere.
Sett 'Trap' -kommando med signalnummeret Sigup, Sigquit og Sigkill
Signalnummeret til Sigup, Sigquit og Sigkill er 1, 3 og 9. Følgende første kommando vil sette en felle for disse tre signalene. Når noe av disse signalene vil oppstå, er meldingen “Trap -kommandoen blir utført”Skal skrive ut. Kjør følgende kommando fra terminalen.
$ Trap 'Echo Trap -kommando utført' 1 3 9
Når brukeren vil trykke på Ctrl+c for å generere signaltilordningen med 'felle' -kommando så 'ekko' Kommando over Trap -kommandoen vil utføre og følgende utdata vises.
Sett 'Trap' -kommandoen for Sigterm i et skript
Sigterm Signal brukes til å avslutte prosessen umiddelbart ved å frigjøre ressursene. Lage en bash -fil som heter 'TapScript.sh'Med følgende kode. En uendelig for sløyfe er erklært i skriptet som vil skrive ut en tekst kontinuerlig til Sigterm signal oppstår. Brukeren må trykke på Ctrl+z å generere Sigterm signal.
TapScript.sh
#!/bin/bash
# Sett en felle for Sigint og Sigterm -signaler
felle "ekko programmet avsluttes."Sigterm Sigint
#Display -melding for å generere sigterm
ekko "Trykk Ctrl+Z Stopp prosessen"
#Initialiser motvariabel, i
i = 1
#Declare Infinite for Loop
til(;;)
gjøre
#Print -melding med counter i
ekko “Kjører sløyfen for $ I Times”
#Increment disken av en
((i ++))
Ferdig
Kjør skriptet ved å utføre følgende kommando og trykk CTRL+Z for å generere Sigterm signal. Følgende lignende utgang vises.
$ Bash TapScript.sh
Angi en "felle" -kommando for å kjøre en funksjon basert på bestemt signal
Du kan knytte en "Trap" -kommando med hvilken som helst brukerdefinert funksjon. Lage en bash kalt Trapfunc.sh og legg til følgende skript. Her en tilpasset funksjon som heter func () er erklært å skrive ut en enkel melding, “Oppgaven fullført”. En for-i-loop er definert for å lese og skrive ut listen over alle filer og mapper i den gjeldende arbeidskatalogen. 'felle' Kommando som er definert i begynnelsen av listen vil kalle funksjonen, func () Når programmet avsluttes.
Trapfunc.sh
#!/bin/bash
# Ring func -funksjon ved utgang
Trap func exit
# Erklære funksjonen
funksjon func ()
ekko "oppgave fullført"
# Les filene og mappene på gjeldende katalogliste ved å bruke for loop
for jeg i *
gjøre
ekko "$ i"
Ferdig
Kjør manuset fra terminalen.
Kjør manuset.
$ bash trapfunc.sh
Følgende utgang viser det, “Oppgaven fullført”Tekst skrives ut etter å ha skrevet ut alle filer og mapper i den gjeldende katalogen.
Denne opplæringen viser hvordan 'Trap' -kommando kan brukes i Linux for å gjøre en automatisert oppgave basert på generert signal. Det hjelper brukere å spore forskjellige typer feil og ta riktige tiltak som kan tildeles før ved å bruke denne kommandoen. Mange programmer eller skript tildeler noen spesielle ressurser når du kjører i systemet. Hvis noe løpsprogram eller skriptutgang eller avslutter unormalt, blir ressursene som brukes av det programmet blokkert. 'Trap' -kommando kan brukes til å løse dette problemet. Ressursrengjøringsoppgave kan gjøres enkelt ved å bruke denne kommandoen. Håper, leseren vil få en klar idé om bruken av denne kommandoen etter å ha lest denne opplæringen.