C 标准库 - <signal.h>
C 标准库 - <signal.h>
概述
<signal.h>
是 C 语言标准库中的一个头文件,它提供了一组用于信号处理的函数和宏。信号是操作系统用来通知进程某个事件已经发生的一种机制。这些事件可能是硬件异常,如除以零或访问非法内存,也可能是软件生成的信号,如用户按下中断键(通常是 Ctrl+C)。
主要功能
信号处理函数
signal(int sig, sighandler_t handler)
: 用于设置信号sig
的处理函数为handler
。handler
可以是SIG_IGN
(忽略信号)、SIG_DFL
(默认处理)或一个用户定义的函数。raise(int sig)
: 用于发送信号sig
到调用进程。abort()
: 用于生成SIGABRT
信号,默认情况下,这会导致进程异常终止。
信号宏
SIGABRT
: 进程终止信号,通常由abort()
函数生成。SIGFPE
: 浮点异常信号,如除以零或溢出。SIGILL
: 非法指令信号。SIGINT
: 中断信号,通常由用户输入(如按下 Ctrl+C)生成。SIGSEGV
: 无效内存引用信号。SI