使用者自定義訊號處理程式是什麼?


訊號是傳送給程式的軟體中斷,表示已經發生了重要事件。可以透過下列兩個可能的處理程式來處理訊號

  • 一個預設訊號處理器
  • 一個使用者自定義訊號處理器

使用者自定義訊號處理器可以覆蓋名為處理訊號的這個預設操作。以不同方式處理訊號。某些訊號(比如更改視窗大小)可以簡單地忽略;其他的(比如非法的記憶體訪問)則透過終止程式來處理。

訊號處理函式可以採用任意名稱,但必須是 void 的返回型別,並且有一個 int 引數。

示例 − 我們可能選擇名稱 sigchld_handler 用於 **SIGCHLD** 訊號(終止子程序)的訊號處理程式。那麼,宣告將是 −

void sigchld_handler(int sig);

傳遞給訊號處理程式的引數是訊號的編號。程式設計師可以使用相同的訊號處理函式來處理多個訊號。

更新於: 31-Jan-2020

913 次瀏覽

開啟你的 職業生涯

完成本課程以獲取認證

開始學習
廣告