UNIX Linux 訊號相關知識

2021-08-21 18:33:30 字數 1061 閱讀 7107

一、基本的概念

1、中斷

中斷概念:中止、暫停當前正在執行的程序,轉而去執行其它的任務。

硬中斷:來自硬體裝置的中斷

軟中斷:來自其它程式的中斷

2、訊號

訊號是一種軟中斷,可以把他看作是程序與程序、核心與程序通訊的一種方式,它為程序的非同步執行,提供了技術支援。

3、常見的訊號

sigint(2)    終端中斷訊號ctrl+c

sigquit(3)    終端退出訊號ctrl+/ 

sigabrt(6)    呼叫abort函式產生的訊號

sigfpe(8)    算術訊號

sigkill(9)    死亡訊號

sigsegv(11) 段錯誤訊號

sigalrm(14) 鬧鐘訊號

sigchld(17) 子程序結束訊號

sigcont(18) 程序繼續訊號

sigstop(19) 程序暫停訊號

sigtstp(20) 終端停止訊號

4、不可靠訊號(非實時)

1、編號小於sigrgmi(34)的訊號都是不可靠的,這些訊號是建立在早期的訊號機制上的,乙個事件發生可能會產生多次訊號。

2、不可靠訊號不支援排隊,在接收訊號的時候可能會丟失,如果乙個發給乙個程序多次,它可能只接收到一次,其它的可能就丟失了。  

3、程序在處理這種訊號的時候,哪怕設定的訊號處理函式,當訊號處理函式執行完畢後,會再次恢復成預設的訊號處理方式。

core dump 把記憶體的使用情況扔出來。

core檔案是一種二進位制檔案,需要一些高度工具才能解析出來(gdb)。

1、gcc -g code.c -> 生成帶除錯資訊的可執行檔案。

2、執行可執行檔案產生core檔案

3、gdb ./a.out core 程式會停止在產生錯誤的位置。

ubuntu預設不產生core的,需要使用命令設定:

ulimit -c unlimited

4、捕獲並處理

Unix Linux 桌面環境相關知識備忘

多年前認識幾位 unix 下的資深開發人員,例如老許,隨意兄等,當時正在對 windows 下的使用者介面相關領域做研究,比如 win32k.sys 裡面的東西,directui netui 的實現原理,如何做外掛程式式的視窗風格切換器 類似於 windowblinds 那樣的機制在乙個應用內或者整...

訊號的相關知識

1.訊號型別下面是幾種常見的訊號 sighup 從終端上發出的結束訊號 sigint 來自鍵盤的中斷訊號 ctrl c sigstop 來自鍵盤 ctrl z 或除錯程式的停止執行訊號,暫停程序 sigkill 該訊號結束接收訊號的程序,殺死程序 sigterm kill 命令發出的訊號 sigch...

訊號量的相關知識

概念 訊號量 又名 訊號燈 與其他程序間通訊方式不大相同,主要用途是保護臨界資源.分類 二值訊號燈 訊號燈的值只能取0或1 計數訊號燈 訊號燈的值可以取任意非負值 使用訊號燈 1.開啟或建立訊號燈 2訊號燈值操作 3.獲得或設定訊號燈屬性 訊號api 1.semget 函式作用 建立訊號量 函式原型...