Latest web development tutorials

C 標準庫– <signal.h>

簡介

signal.h頭文件定義了一個變量類型sig_atomic_t、兩個函數調用和一些宏來處理程序執行期間報告的不同信號。

庫變量

下面是頭文件signal.h 中定義的變量類型:

序号变量 & 描述
1sig_atomic_t
这是int类型,在信号处理程序中作为变量使用。它是一个对象的整数类型,该对象可以作为一个原子实体访问,即使存在异步信号时,该对象可以作为一个原子实体访问。

庫宏

下面是頭文件signal.h 中定義的宏,這些宏將在下列兩個函數中使用。SIG_宏與signal函數一起使用來定義信號的功能。

序号宏 & 描述
1 SIG_DFL
默认的信号处理程序。
2 SIG_ERR
表示一个信号错误。
3 SIG_IGN
忽视信号。

SIG宏用於表示以下各種條件的信號碼:

序号宏 & 描述
1 SIGABRT
程序异常终止。
2 SIGFPE
算术运算出错,如除数为 0 或溢出。
3 SIGILL
非法函数映象,如非法指令。
4 SIGINT
中断信号,如 ctrl-C。
5 SIGSEGV
非法访问存储器,如访问不存在的内存单元。
6 SIGTERM
发送给本程序的终止请求信号。

庫函數

下面是頭文件signal.h 中定義的函數:

序号函数 & 描述
1 void (*signal(int sig, void (*func)(int)))(int)
该函数设置一个函数来处理信号,即信号处理程序。
2 int raise(int sig)
该函数会促使生成信号sig。sig 参数与 SIG 宏兼容。