一、基本的概念
1、中斷
中斷概念:中止、暫停當前正在執行的程序,轉而去執行其它的任務。
硬中斷:來自硬體裝置的中斷
軟中斷:來自其它程式的中斷
2、訊號
訊號是一種軟中斷,可以把他看作是程序與程序、核心與程序通訊的一種方式,它為程序的非同步執行,提供了技術支援。
3、常見的訊號
sigint(2) 終端中斷訊號ctrl+csigquit(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 函式作用 建立訊號量 函式原型...