以下整理**自【1】。
1、可靠訊號與不可靠訊號
1)訊號值小於
sigrtmin(red hat 7.2
中,sigrtmin=32
,sigrtmax=63)
的訊號都是不可靠訊號。主要問題如下:
① 程序每次處理訊號後,就將對訊號的響應設定為預設動作。在某些情況下,將導致對訊號的錯誤處理;因此,使用者如果不希望這樣的操作,那麼就要在訊號處理函式結尾再一次呼叫
signal()
,重新安裝該訊號。
② 訊號可能丟失。
因此,早期
unix
下的不可靠訊號主要指的是程序可能對訊號做出錯誤的反應以及訊號可能丟失。
2)訊號值位於
sigrtmin
和sigrtmax
之間的訊號都是可靠訊號,可靠訊號克服了訊號可能丟失的問題。
linux在支援新版本的訊號安裝函式
sigation
()以及訊號傳送函式
sigqueue()
的同時,仍然支援早期的
signal
()訊號安裝函式,支援訊號傳送函式
kill()
。 2、對
sigrtmin
以後的訊號都支援排隊。
signal
與sigaction
這兩個函式的最大區別在於,經過
sigaction
安裝的訊號都能傳遞資訊給訊號處理函式(對所有訊號這一點都成立),而經過
signal
安裝的訊號卻不能向訊號處理函式傳遞資訊。對於訊號傳送函式來說也是一樣的。
3、後32個訊號表示實時訊號,等同於前面闡述的可靠訊號。這保證了傳送的多個實時訊號都被接收;實時訊號是
posix
標準的一部分,可用於應用程序。非實時訊號都不支援排隊,都是不可靠訊號;實時訊號都支援排隊,都是可靠訊號。
參考【1】
學習筆記 可靠訊號 不可靠訊號
不可靠訊號pk可靠訊號 q linux訊號機制基本上是從unix系統中繼承過來的。早期unix系統中的訊號機制比較簡單和原始,後來在實踐中暴露出一些問題,它的主要問題是 q 程序每次處理訊號後,就將對訊號的響應設定為預設動作。在某些情況下,將導致對訊號的錯誤處理 因此,使用者如果不希望這樣的操作,那...
訊號及訊號處理(二) 可靠訊號與不可靠訊號
一 可靠訊號與不可靠訊號有哪些?sighup 1號 至 sigsys 31號 之間的訊號都是繼承自unix系統,是不可靠訊號,也稱為非實時訊號 sigrtmin 33號 與 sigrtmax 64號 之間的訊號,它們都是可靠訊號,也稱為實時訊號 二 什麼是可靠訊號?可靠性是指訊號是否會丟失,即該訊號...
原始碼 訊號可靠訊號不可靠訊號相關
file main.c author luv letter created on 2017年3月14日,下午4 33 include include include include 3 訊號可靠訊號不可靠訊號相關 程式設計程式,要去實現如下功能 父程序建立子程序1和子程序2 子程序1向子程序2傳送可...