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 中定義的函數:

序號函數 & 描述
1void (*signal(int sig, void (*func)(int)))(int)
該函數設置一個函數來處理信號,即信號處理程式。
2int raise(int sig)
該函數會促使生成信號 sig。sig 參數與 SIG 宏相容。