C 標準函式庫 - <signal.h>


簡介

signal.h 頭檔定義了一個變數類型sig_atomic_t、兩個函數呼叫和一些巨集來處理程式執行期間​​報告的不同訊號。

庫變數

下面是頭檔signal.h 中定義的變數類型:

序號變數& 描述
1sig_atomic_t
這是int 類型,在訊號處理程序中作為變數使用。它是一個物件的整數類型,該物件可以作為一個原子實體訪問,即使存在非同步訊號時,該物件可以作為原子實體存取。

庫宏

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

序號宏& 描述
1SIG_DFL
預設的訊號處理程序。
2SIG_ERR
#表示一個訊號錯誤。
3SIG_IGN
#忽略訊號。

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

序號宏& 描述
1#SIGABRT
程式異常終止。
2SIGFPE
算術運算出錯,如除數為 0 或溢位。
3SIGILL
非法函式映像,如非法指令。
4SIGINT
#中斷訊號,如 ctrl-C。
5SIGSEGV
#非法存取記憶體,如存取不存在的記憶體單元。
6SIGTERM
#傳送給本程式的終止請求訊號。

庫函數

以下是頭檔signal.h 中定義的函數:

序號函數& 描述
1void (*signal(int sig, void (*func)(int)))(int)
此函數設定一個函數來處理訊號,即訊號處理程序。
2int raise(int sig)
此函數會促使產生訊號 sig。 sig 參數與 SIG 巨集相容。
#