trap [-lp] [[arg] signal_spec ...]
trap -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
kill -l displays same list
it’s possible to react only to signals which allows the script to respond: the SIGKILL
and SIGSTOP
signals cannot be caught, blocked or ignored.
signal can be specified either by its number or by its name,
even without the SIG
prefix.
-p : list all previously set traps
-p name : list only trap with name previously set
trap 'echo "SIGINT caught!"' SIGINT
trap -p
trap -- 'echo "SIGINT caught!"' SIGINT
press ctrl+c
SIGINT caught!
trap 'echo "signal caught, cleaning..."; rm -i linux_tarball.tar.xz' SIGINT SIGTERM
its exist status will be the result of 128 + the signal number
disable traps
trap - SIGINT SIGTERM
pseudo signals
EXIT on exit script
ERR non zero exit status
DEBUG
This will cause the argument of the trap to be executed before every simple command,
for, case or select commands, and before the first command in shell functions.
Comments
Post a Comment