|
发表于 2005-1-13 10:50:50
|
显示全部楼层
Linux共支持64种信号。用kill -l命令可以看到:
- bash-2.05b$ kill -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 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 35) SIGRTMIN 36) SIGRTMIN+1
- 37) SIGRTMIN+2 38) SIGRTMIN+3 39) SIGRTMIN+4 40) SIGRTMIN+5
- 41) SIGRTMIN+6 42) SIGRTMIN+7 43) SIGRTMIN+8 44) SIGRTMIN+9
- 45) SIGRTMIN+10 46) SIGRTMIN+11 47) SIGRTMIN+12 48) SIGRTMIN+13
- 49) SIGRTMIN+14 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
- bash-2.05b$
复制代码
其中1~31为常规信号(regular signals)。32~63为实时信号(real-time signals)。实时信号是POSIX标准规定的,linux不使用它,但也支持这个标准。
实时信号与常规信号有很多的不同。当信号被阻塞时,常规信号只能被保留一次,其余的都会被抛弃,而实时信号可以排队等候。实时信号的含义也不是预先定义好的,而是由应用程序自己定义。具体的可以man 7 signal。 |
|