亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人


Linux下的信號機制

分享到:
           

    本文關鍵字: linux 管道通信,linux 進程通信方式,信號

    信號是在軟件層次上對中斷機制的一種模擬。在原理上,一個進程收到一個信號與處理器收到一個中斷請求可以說是一樣的。信號是異步的,一個進程不必通過任何操作來等待信號的到達,事實上,進程也不知道信號到底什么時候到達。信號可以直接進行用戶空間進程和內核進程之間的交互,內核進程也可以利用它來通知用戶空間進程發生了哪些系統事件。它可以在任何時候發給某一進程,而無須知道該進程的狀態。如果該進程當前并未處于執行態,則該信號就由內核保存起來,直到該進程恢復執行再傳遞給它為止;如果一個信號被進程設置為阻塞,則該信號的傳遞被延遲,直到其阻塞被取消時才被傳遞給進程。

    信號是進程間通信機制中唯一的異步通信機制,可以看做是異步通知,通知接收信號的進程有哪些事情發生了。信號機制經過Posix實時擴展后,功能更加強大,除了基本通知功能外,還可以傳遞附加信息。

    信號事件的發生有兩個來源:硬件來源(如我們按下了鍵盤上的按鈕或者出現其他硬件故障);軟件來源,常用發送信號的系統函數有kill()raise()alarm()、setitimer()和sigqueue()等,軟件來源還包括一些非法運算等操作。

    進程可以通過3種方式來響應一個信號。

    1.忽略信號

    忽略信號即對信號不做任何處理,其中,有兩個信號不能忽略:SIGKILL和SIGSTOP。

    2.捕捉信號

    定義信號處理函數,當信號發生時,執行相應的處理函數。

    3.執行默認操作

    Linux對每種信號都規定了默認操作,如表1所示。

表1 常見信號的含義及其默認操作

信 號 名 含 義 默 認 操 作
SIGHUP 該信號在用戶終端連接(正常或非正常)結束時發出,通常是在終端的控制進程結束時,通知同一會話內的各個進程與控制終端不再關聯 終止
SIGINT 該信號在用戶輸入INTR字符(通常是Ctrl+C)時發出,終端驅動程序發送此信號并送到前臺進程中的每一個進程 終止
SIGQUIT 該信號和SIGINT類似,但由QUIT字符(通常是Ctrl+\)來控制 終止
SIGILL 該信號在一個進程企圖執行一條非法指令時(可執行文件本身出現錯誤,或者試圖執行數據段、堆棧溢出時)發出 終止
SIGFPE 該信號在發生致命的算術運算錯誤時發出。這里不僅包括浮點運算錯誤,還包括溢出及除數為0等其他所有的算術錯誤 終止
SIGKILL 該信號用來立即結束程序的運行,并且不能被阻塞、處理和忽略 終止
SIGALRM 該信號當一個定時器到時的時候發出 終止
SIGSTOP 該信號用于暫停一個進程,且不能被阻塞、處理或忽略 暫停進程
SIGTSTP 該信號用于交互停止進程,用戶在輸入SUSP字符時(通常是Ctrl+Z)發出這個信號 停止進程
SIGCHLD 子進程改變狀態時,父進程會收到這個信號 忽略

    一個完整的信號生命周期可以分為3個重要階段,這3個階段由4個重要事件來刻畫的:信號產生、信號在進程中注冊、信號在進程中注銷、執行信號處理函數。這里信號的產生、注冊、注銷等是指信號的內部實現機制,而不是信號的函數實現。因此,信號注冊與否與本節后面講到的發送信號函數(如kill()等)及信號安裝函數(如signal()等)無關,只與信號值有關。

    相鄰兩個事件的時間間隔構成信號生命周期的一個階段。要注意這里的信號處理有多種方式,一般是由內核完成的,當然也可以由用戶進程來完成,故在此沒有明確指出。

    信號的處理包括信號的發送、捕獲及信號的處理,它們有各自相對應的常見函數。

    ● 發送信號的函數:kill()、raise()

    ● 捕捉信號的函數:alarm()、pause()

    ● 處理信號的函數:signal()、sigaction()

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、有名管道(FIFO)
   2、標準流管道
   3、無名管道系統調用
   4、Linux下進程間通信方式-管道
   5、Linux下進程間通信

更多新聞>> 

主站蜘蛛池模板: 国产色区 | 亚洲欧美韩国日产综合在线 | 99亚洲精品视频 | 欧美jizz18性欧美年轻 | 免费视频左左视频 | 97香蕉| 欧美日韩在大午夜爽爽影院 | 欧美一区2区三区4区公司 | 日本三级在线看观 | 曰本视频网络www色 曰本亚洲欧洲色a在线 | 97日日碰人人模人人澡 | 成人在线a | 毛片毛片毛片毛片出来毛片 | 久操手机在线视频 | 久久99精品久久久久久野外 | 日本三级全黄三级a | 99久久国产综合色 | 精品福利一区 | 精品中文字幕制服中文 | 亚洲一区视频 | 国产欧美日韩综合在线一 | 久久riav国产精品 | 国产美女一级高清免费观看 | 亚洲视频a| 免费观看欧美成人1314w色 | 99久久九九| 欧美日本免费观看αv片 | 中文字幕日本不卡 | 黄色片视频在线观看 | 精品久久久久久蜜臂a∨ | 天天操人人射 | 岛国在线123456 | 免费高清性色生活片 | 欧美日韩成人在线 | 中文字幕精品一区二区日本 | 激情五月激情综合 | 免费看aⅴ | aaa在线观看高清免费 | 人人人人人人 | 免费不卡中文字幕在线 | 欧美在线性视频 |