使用者自定義訊號處理程式是什麼?
訊號是傳送給程式的軟體中斷,表示已經發生了重要事件。可以透過下列兩個可能的處理程式來處理訊號
- 一個預設訊號處理器
- 一個使用者自定義訊號處理器
使用者自定義訊號處理器可以覆蓋名為處理訊號的這個預設操作。以不同方式處理訊號。某些訊號(比如更改視窗大小)可以簡單地忽略;其他的(比如非法的記憶體訪問)則透過終止程式來處理。
訊號處理函式可以採用任意名稱,但必須是 void 的返回型別,並且有一個 int 引數。
示例 − 我們可能選擇名稱 sigchld_handler 用於 **SIGCHLD** 訊號(終止子程序)的訊號處理程式。那麼,宣告將是 −
void sigchld_handler(int sig);
傳遞給訊號處理程式的引數是訊號的編號。程式設計師可以使用相同的訊號處理函式來處理多個訊號。
廣告