LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1149|回复: 1

sig32信号有没有人了解?

[复制链接]
发表于 2005-1-12 23:04:04 | 显示全部楼层 |阅读模式
在gdb下调试多线程程序,有时候会出现"rogram received signal SIG32.Real-time event 32"。
有没有人了解原因和应对措施?
发表于 2005-1-13 10:50:50 | 显示全部楼层
Linux共支持64种信号。用kill -l命令可以看到:

  1. bash-2.05b$ kill -l
  2. 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
  3. 5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
  4. 9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
  5. 13) SIGPIPE     14) SIGALRM     15) SIGTERM     17) SIGCHLD
  6. 18) SIGCONT     19) SIGSTOP     20) SIGTSTP     21) SIGTTIN
  7. 22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
  8. 26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO
  9. 30) SIGPWR      31) SIGSYS      35) SIGRTMIN    36) SIGRTMIN+1
  10. 37) SIGRTMIN+2  38) SIGRTMIN+3  39) SIGRTMIN+4  40) SIGRTMIN+5
  11. 41) SIGRTMIN+6  42) SIGRTMIN+7  43) SIGRTMIN+8  44) SIGRTMIN+9
  12. 45) SIGRTMIN+10 46) SIGRTMIN+11 47) SIGRTMIN+12 48) SIGRTMIN+13
  13. 49) SIGRTMIN+14 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
  14. 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8
  15. 57) SIGRTMAX-7  58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4
  16. 61) SIGRTMAX-3  62) SIGRTMAX-2  63) SIGRTMAX-1  64) SIGRTMAX
  17. bash-2.05b$
复制代码

其中1~31为常规信号(regular signals)。32~63为实时信号(real-time signals)。实时信号是POSIX标准规定的,linux不使用它,但也支持这个标准。
实时信号与常规信号有很多的不同。当信号被阻塞时,常规信号只能被保留一次,其余的都会被抛弃,而实时信号可以排队等候。实时信号的含义也不是预先定义好的,而是由应用程序自己定义。具体的可以man 7 signal。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表