C語言 標(biāo)準(zhǔn)庫 <signal.h>
c語言 標(biāo)準(zhǔn)庫 <signal.h>
signal.h 頭文件定義了一個變量類型 sig_atomic_t、兩個函數(shù)調(diào)用和一些宏來處理程序執(zhí)行期間報(bào)告的不同信號。
1. 庫變量
下面是頭文件 signal.h 中定義的變量類型:
序號 | 變量 & 描述 |
---|---|
1 | sig_atomic_t 這是 int 類型,在信號處理程序中作為變量使用。它是一個對象的整數(shù)類型,該對象可以作為一個原子實(shí)體訪問,即使存在異步信號時,該對象可以作為一個原子實(shí)體訪問。 |
2. 庫宏
下面是頭文件 signal.h 中定義的宏,這些宏將在下列兩個函數(shù)中使用。sig_ 宏與 signal 函數(shù)一起使用來定義信號的功能。
序號 | 宏 & 描述 |
---|---|
1 | sig_dfl 默認(rèn)的信號處理程序。 |
2 | sig_err 表示一個信號錯誤。 |
3 | sig_ign 忽視信號。 |
sig 宏用于表示以下各種條件的信號碼:
序號 | 宏 & 描述 |
---|---|
1 | sigabrt 程序異常終止。 |
2 | sigfpe 算術(shù)運(yùn)算出錯,如除數(shù)為 0 或溢出。 |
3 | sigill 非法函數(shù)映象,如非法指令。 |
4 | sigint 中斷信號,如 ctrl-c。 |
5 | sigsegv 非法訪問存儲器,如訪問不存在的內(nèi)存單元。 |
6 | sigterm 發(fā)送給本程序的終止請求信號。 |
3. 庫函數(shù)
下面是頭文件 signal.h 中定義的函數(shù):
序號 | 函數(shù) & 描述 |
---|---|
1 | void (*signal(int sig, void (*func)(int)))(int) 該函數(shù)設(shè)置一個函數(shù)來處理信號,即信號處理程序。 |
2 | int raise(int sig) 該函數(shù)會促使生成信號 sig。sig 參數(shù)與 sig 宏兼容。 |