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 宏相容。 |