1. 程式人生 > >信號處理是Unix和LInux系統為了響應某些狀況而產生的事件

信號處理是Unix和LInux系統為了響應某些狀況而產生的事件

ctrl+c 系統 inux str bubuko lin inf 發送 結束

信號處理是Unix和LInux系統為了響應某些狀況而產生的事件,通常內核產生信號,進程收到信號後采取相應的動作。

例如當我們想強制結束一個程序的時候,我們通常會給它發送一個信號,然後該進程會捕捉到信號,緊接著該進程執行一定操作後最終被終止掉。不僅僅如此,通常下面幾種情況

  ①鍵盤事件(ctrl+c、ctrl+\)

  ②訪問非法內存 

  ③硬件故障(如算術運算執行除以0操作

  ④ 環境切換

都會有信號的產生,而對這些產生的信號是需要讓進程來處理的,進而信號也被作為進程間通信或修改行為的一種方式,是可明確地由一個進程發送給另一個進程的。一般當一個信號的產生時,我們把它叫作信號生

,對一個信號接收到叫信號捕獲。關於信號的捕獲例子是比較多的,這裏列舉平時可能經常遇到的幾個,其它可自行查詢(~v~雖然比較多)技術分享圖片

信號處理是Unix和LInux系統為了響應某些狀況而產生的事件