from http://steve-parker.org/sh/trap.shtml
trap指令可以用来捕获相关信号,并运行指定的代码
例如
#!/bin/sh
trap cleanup EXIT
#or
#trap cleanup 0
cleanup()
{
#do some cleanup thing when exit
#...
}
或者
trap handle_interrupt 2
handle_interrupt()
{
#do sth when ctrl_c is pressed
#...
}
下面是一些常见信号的数值
0 | 0 | On exit from shell |
1 | SIGHUP | Clean tidyup |
2 | SIGINT | Interrupt |
3 | SIGQUIT | Quit |
6 | SIGABRT | Abort |
9 | SIGKILL | Die Now (cannot be trap'ped) |
14 | SIGALRM | Alarm Clock |
15 | SIGTERM | Terminate |