Linux訊號的基本概念

2021-08-09 02:13:52 字數 758 閱讀 5058

天天在用訊號,它的概念你可知道地準確?訊號機制是一種使用訊號來進行程序之間傳遞資訊

的方法,

其中訊號的全稱為軟中斷訊號,簡稱軟中斷。

訊號只是用

來通知程序發生了什麼事情,並不給程序傳遞資料。

訊號都有乙個預設值,且有3種處理方式:退出,忽視,註冊函式。

訊號的幾個缺點:

1. 系統開銷太大

2. 傳送訊號的程序需要進行系統呼叫

3. 數量非常有限

4. 不能傳送資料及引數

如果訊號傳送給乙個正在睡眠的程序,那麼要看該程序進入睡眠的優先順序,如果程序睡眠在可被中斷

的優先順序上,則喚醒,否則僅僅設定程序表中訊號

域相應的位,而不喚醒程序。因為程序檢查是否受

到訊號的時機是:乙個程序在即將從核心態返回使用者態時或者在乙個程序要進入或離開乙個適當的低 排程

優先順序睡眠狀態時。

核心處理乙個程序收到的訊號的時機是:在乙個程序從核心態返回使用者態時,所以,當乙個程序在核心運

行時,是不響應訊號的,要等到返回使用者態時

才處理,處理完再返回使用者態。因為程序處理完訊號後才會

返回使用者態,所以在使用者態下不會存在未處理完的訊號。

linux核心支援64個預設訊號,1-31為不可靠訊號(非實時),34-63為可靠訊號(實時),不可靠訊號與可靠訊號的區別是前者不支援排隊的,當時每捕

獲就會丟失,然而後者不會,會等待。

訊號sigstop(19)和sigkill(9)還有兩個使用者自定義訊號是不可以被忽略的

linux訊號的基本概念

訊號 訊號 是乙個軟體中斷 通知程序發生了某件事情,中斷程序當前操作 讓程序去處理這件事。前提 必須識別這個訊號 訊號種類有很多。每個都代表不同事件。訊號是有生命週期 產生 註冊 登出 處理 阻塞 阻止訊號被處理 作業系統中定義的訊號種類 檢視訊號種類 kill l 總共62種,1 31非可靠訊號 ...

linux的訊號的基本概念

訊號機制是程序之間相互傳遞訊息的一種方法,訊號全稱為軟中斷訊號,也有人稱作軟中斷。從它的命名可以看出,它的實質和使用很象中斷。所以,訊號可以說是程序控制的一部分。程序之間可以互相通過系統呼叫kill傳送軟中斷訊號。核心也可以因為內部事件而給程序傳送訊號,通知程序發生了某個事件。注意,訊號只是用來通知...

訊號基本概念

sighup 終止程序 終端線路結束通話 sigint 終止程序 中斷程序 sigquit 建立core檔案終止程序,並且生成core檔案 sigill 建立core檔案 非法指令 sigtrap 建立core檔案 跟蹤自陷 sigbus 建立core檔案 匯流排錯誤 sigsegv 建立core檔...