SIGFPE –此错误信号表示某些算术错误,例如被零除,浮点错误。如果程序将整数数据存储在某个位置,然后将其用作浮点运算,则会导致“无效运算”异常,因为处理器无法将数据识别为浮点值。但是此信号未指定浮点错误的类型。SIGILL –该信号表示非法指令。当执行垃圾指令或程序没有特权执行的指令时,将生成此信号。C不会产生非法指令,因此没有机会面对这样的错误信号,因为可能的原因可能是目标文件已损坏。堆栈溢出时也会生成此信号。SIGSEGV –当进程尝试访问未分配给它的内存位置时(例如取消引用导致“分段错误”的野生指针),将生成该信号。仅当程序远离其存储空间时才会生成该信号,以便可以由存储保护机制检测到该信号。该名称是“违反分段”的缩写。SIGBUS –名称是“ Bus error”的缩写。当访问无效的存储器时也会产生该信号。看起来好像和SIGSEGV一样,但是在SIGSEGV中,引用的内存位置有效,但是在SIGBUS的情况下,引用的内存不存在,即从内存空间中取消引用内存位置。SIGABRT –如果程序本身检测到错误,则使用调用abort()生成此信号。标准库也使用此信号来报告内部错误。c ++中的assert()函数还使用abort()来生成此信号。SIGSYS –当无效参数传递给系统调用时,将发送此信号以进行处理。SIGTRAP –发生异常时,此信号发送到进程。调试器要求获得通知。例如,如果变量更改其值,则将触发它。