C 標準庫 – <signal.h>

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 巨集相容。