信號四要素

與變量三要素(類型、名字、值)類似的,每個信號也有其必備4要素,分別是:1.編號;2.名稱(即編號的宏定義) ;3.事件(引起信號產生的事件,如段錯誤);4.默認處理動作

可以通過man 7 signal 命令查看:

Signal???? Value???? Action?? Comment

──────────────────────────────────

?SIGALRM????? ?14?????? Term??? Timer signal from alarm(2)

SIGTERM????? ?15?????? Term??? Termination signal

SIGUSR1?? ??30,10,16??? Term??? User-defined signal 1

SIGUSR2?? ??31,12,17??? Term??? User-defined signal 2

名字??????? 編號????? 默認處理方式???????? 事件

重點掌握的信號:2、3、7(總線錯誤)、8、9、10、11、12、13、14、15、17、19和20。要求記住前三個要素(編號、名字和事件)。

在標準信號中,有一些信號是有三個“Value”,第一個值通常對alpha和sparc架構(CPU架構)有效,中間值針對x86、arm和其他架構,最后一個應用于mips架構。一個‘-’表示在對應架構上尚未定義該信號。

不同的操作系統定義了不同的系統信號。因此有些信號出現在Unix系統內,也出現在Linux中,而有的信號出現在FreeBSD或Mac OS中卻沒有出現在Linux下。這里我們只研究Linux系統中的信號(即只是取中間值)。

信號的默認處理方式有五種(記住):Term:終止進程;Ign:忽略信號 (默認即時對該種信號忽略操作); Core:終止進程,生成Core文件(查驗進程死亡原因,用于gdb調試);Stop:停止(暫停)進程;Cont:繼續運行進程。

這里特別強調9) SIGKILL 19) SIGSTOP信號,不允許忽略和捕捉,只能執行默認動作。甚至不能將其設置為阻塞。

9) SIGKILL:無條件終止進程。本信號不能被忽略,捕捉和阻塞。默認動作為終止進程。它向系統管理員提供了可以殺死任何進程的方法。

19) SIGSTOP:停止進程的執行。信號不能被忽略,捕捉和阻塞。默認動作為暫停進程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385333.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385333.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385333.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

958. 二叉樹的完全性檢驗

給定一個二叉樹,確定它是否是一個完全二叉樹。 百度百科中對完全二叉樹的定義如下: 若設二叉樹的深度為 h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊&a…

信號的產生

(1)終端按鍵產生信號(與終端交互的進程) Ctrl c → 2) SIGINT(終止/中斷) "INT" ----Interrupt Ctrl z → 20) SIGTSTP(暫停/停止) "T" ----Termin…

897. 遞增順序查找樹

給定一個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,并且每個結點沒有左子結點,只有一個右子結點。 示例 : 輸入:[5,3,6,2,4,null,8,1,null,null,null,7,9]5/ \3 6/ \ \2 4 8/ …

信號集操作函數

內核通過讀取未決信號集來判斷信號是否應被處理。信號屏蔽字mask可以影響未決信號集。而我們可以在應用程序中自定義set來改變mask。已達到屏蔽指定信號的目的。綜上:自定義信號集set(也為一個字,64位)通過信號集操作函數來改變信…

信號捕捉(signal、sigaction)

信號的基本屬性:軟中斷,由內核發送,內核處理。某個進程通過內核向另一個進程發送信號時(引起信號產生的五個因素),另一個進程將會陷入內核進行中斷處理,未決信號集中相應信號置1,當遞…

1090 Highest Price in Supply Chain (25)(25 分)

A supply chain is a network of retailers(零售商), distributors(經銷商), and suppliers(供應商)-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

時序競態(競態條件)

產生原因:仍然以前文實現的sleep函數為例,如果進程在執行完alarm函數后,突然失去CPU,被阻塞等待(這是有可能的,進程在執行過程中,若非原子操作,都有可能隨時失去CPU)&…

1106 Lowest Price in Supply Chain (25)

A supply chain is a network of retailers(零售商), distributors(經銷商), and suppliers(供應商)-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

【Leetcode | 順序刷題 】二分查找目錄

二分查找序號題號129. 兩數相除 50. Pow(x, n) 69. x 的平方根

sigsuspend函數(mysleep函數的改進)

可以通過設置屏蔽SIGALRM的方法來控制程序執行邏輯,但無論如何設置,程序都有可能在“解除信號屏蔽”與“掛起等待信號”這個兩個操作間隙失去cpu資源。除非將這兩步驟合并成一個“原子操作”。sigsuspend函數具備這個功能。在對時序要求嚴格的場合下都應…

【Leetcode | 順序刷題】數學目錄

序號題號1 7. 整數反轉 28. 字符串轉換整數 (atoi)39. 回文數443. 字符串相乘

全局變量的異步I/O問題

全局變量的異步I/O問題同樣屬于時序競態問題,其本質就是多個進程或者同一個進程中的多個時序(如主控程序和信號捕捉時的用戶處理函數)對同一個變量進行修改時,它們的執行順序不一樣就會導致該變量最終的值不一樣,從而產…

【Leetcode | 03】String

字符串目錄序號題號33. 無重復字符的最長子串 151. 翻轉字符串里的單詞

可/不可重入函數

一個函數在被調用執行期間(尚未調用結束),由于某種時序(遞歸或者處理信號捕捉時等情況)又被重復調用,稱之為“重入”。根據函數實現的方法可分為“可重入函數”和“不可重入函數”兩種。看如下程序。 可以看…

【Leetcode | 順序刷題】雜項目錄

序號題號類別1136. 只出現一次的數字位運算2137. 只出現一次的數字 II位運算3 260. 只出現一次的數字 III 位運算4191. 位1的個數位運算5231. 2的冪位運算6342. 4的冪位運算7 338. 比特位計數 位運算8405. 數字轉換為十六進制數位運算9371. 兩整數之和位運算10401. 二進制手表位…

SIGCHLD信號

(1)SIGCHLD信號產生的條件 1.子進程終止時會向父進程發送SIGCHLD信號,告知父進程回收自己,但該信號的默認處理動作為忽略,因此父進程仍然不會去回收子進程,需要捕捉處理實現子進程的回收; 2.子…

信號傳參

(1)發送信號傳參 前面已經知道從一個進程向另一個進程發送信號可以使用kill函數,但是kill函數在向進程發送信號的時候不能攜帶除了信號以外的其他信息,這時可以使用與kill相對應的sigqueue函數,該函數也是向一個進程發…

【Leetcode | 52】257. 二叉樹的所有路徑

給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到葉子節點的路徑為: 1->2->5, 1->3 解法一&a…

623. 在二叉樹中增加一行

給定一個二叉樹,根節點為第1層,深度為 1。在其第 d 層追加一行值為 v 的節點。 添加規則:給定一個深度值 d (正整數),針對深度為 d-1 層的每一非空節點 N,為 N 創建兩個值為 v 的左子樹和右子樹…

終端的概念

操作系統接口:用戶接口和程序接口。用戶接口分為聯機用戶接口和脫機用戶接口。脫機用戶接口出現在早期的批處理系統中(將作業提前交給操作系統,作業完成的過程中用戶無法交互);聯機用戶接口即為終端(所有輸…