C++ 程式設計/程式碼/標準 C 庫/函式/signal
外觀
| 語法 |
#include <csignal>
void (*signal( int sig, void (*handler)(int)) )(int)
|
signal() 函式接受兩個引數 - 第一個引數是訊號識別符號,第二個引數是指向訊號處理函式的函式指標,該函式指標接受一個引數。signal 的返回值是指向先前處理函式的函式指標(如果更改訊號處理函式時出錯,則為 SIG_ERR)。
預設情況下,大多數引發的訊號都由處理程式 SIG_DFL(通常會關閉程式的預設訊號處理程式)或 SIG_IGN(忽略訊號並繼續程式執行)處理。
當您指定自定義處理程式並引發訊號時,訊號處理程式會恢復為預設值。
雖然訊號處理程式已被 throw 和 catch 取代,但某些系統可能仍然要求您使用這些函式來處理某些重要事件。例如,基於 Unix 的系統上的 SIGTERM 訊號表示程式應儘快終止。
- 相關主題
- raise