linux中的信号1——信号概述
生活随笔
收集整理的這篇文章主要介紹了
linux中的信号1——信号概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下內容源于朱有鵬《物聯網大講堂》課程的學習整理,如有侵權,請告知刪除。
1、信號是內容受限的一種異步通信機制
(1)信號的目的:用來進程間通信(IPC)、進程和內核間的通信;
(2)信號是異步的(類似于軟件中斷,對比硬件中斷,如按鍵,不知道什么時候按下);
(3)信號本質上是(int型)數字編號(每個編號有特定的含義),內容是十分有限的。
2、信號由誰發出
(1)用戶在終端按下按鍵;
(2)硬件異常后由操作系統內核發出信號(比如,除以0,導致程序出錯);
(3)用戶使用kill命令向其他進程發出信號;
(4)某種軟件條件滿足后也會發出信號,如alarm鬧鐘時間到會產生SIGALARM信號,向一個讀端已經關閉的管道write時會產生SIGPIPE信號。
3、信號由誰處理、如何處理
(1)忽略信號;
(2)捕獲信號:信號綁定一個信號處理函數,捕獲信號后執行該處理函數。
(3)默認處理(當前進程沒有明顯地管理這個信號,默認:忽略或終止進程)
4、常見信號介紹
- 在/usr/include/i386-linux-gnu/bits中定義,信號的編號一般從1開始。
- 其中SIGKILL是無法忽略、無法攔截的,但必須有權限。
- 其中SIGCHILD是wait阻塞時,期待的信號。
總結
以上是生活随笔為你收集整理的linux中的信号1——信号概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件需求说明书(GB856T—88)
- 下一篇: linux 其他常用命令