linux中的訊號1 訊號概述

2021-08-03 19:46:28 字數 528 閱讀 4653

以下內容源於朱有鵬《物聯網大講堂》課程的學習整理,

(1)訊號的目的:用來程序間通訊(ipc)、程序和核心間的通訊;

(2)訊號是非同步的(類似於軟體中斷,對比硬體中斷,如按鍵,不知道什麼時候按下);

(3)訊號本質上是(int型)數字編號(每個編號有特定的含義),內容是十分有限的。

(1)使用者在終端按下按鍵;

(2)硬體異常後由作業系統核心發出訊號(比如,除以0,導致程式出錯);

(3)使用者使用kill命令向其他程序發出訊號;

(4)某種軟體條件滿足後也會發出訊號,如alarm鬧鐘時間到會產生sigalarm訊號,向乙個讀端已經關閉的管道write時會產生sigpipe訊號。

(1)忽略訊號;

(2)捕獲訊號:訊號繫結乙個訊號處理函式,捕獲訊號後執行該處理函式。

(3)預設處理(當前程序沒有明顯地管理這個訊號,預設:忽略或終止程序)

訊號的概述

訊號是軟體中斷,它是在軟體層次上對中斷機制的一種模擬。訊號可以導致乙個正在執行的程序被另乙個正在執行的非同步程序中斷,轉而處理某乙個突發事件。訊號是一種非同步通訊方式。程序不必等待訊號的到達,程序也不知道訊號什麼時候到達。訊號可以直接進行使用者程序和核心空間程序的互動,核心程序可以利用它來通知使用者...

linux中的訊號

1.什麼是訊號 1.1 訊號是內容受限的一種非同步通訊機制 1 訊號的目的 用來通訊 2 訊號是非同步的 對比硬體中斷 3 訊號本質上是int型數字編號 事先定義好的 1.2 訊號由誰發出 1 使用者在終端按下按鍵 2 硬體異常後由作業系統核心發出訊號 3 使用者使用kill命令向其他程序發出訊號 ...

linux訊號 阻塞訊號

1.訊號在核心中的表示 我們知道了訊號產生的各種原因,而實際執行訊號處理的動作,叫做訊號遞達 delivery 訊號從產生到遞達之間的狀態,稱為訊號未決 pending 程序可以選擇阻塞 block 某個訊號。被阻塞的訊號產生時將保持在未決狀態,直到程序解除對此訊號的阻塞,才執行遞達的動作。注意,阻...