C 標準函式庫 - <signal.h>
簡介
signal.h 頭檔定義了一個變數類型sig_atomic_t、兩個函數呼叫和一些巨集來處理程式執行期間報告的不同訊號。
庫變數
下面是頭檔signal.h 中定義的變數類型:
序號 | 變數& 描述 |
---|---|
1 | sig_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 巨集相容。 |