【合集】Linux——31個普通信號

Linux普通信號總表(1-31)??

?編號??信號名??觸發原因??默認動作?
1SIGHUP終端連接斷開(如SSH會話終止)或守護進程重載配置(如nginx -s reload終止進程
2SIGINT用戶輸入Ctrl+C中斷前臺進程終止進程
3SIGQUIT用戶輸入Ctrl+\退出進程終止并生成core文件
4SIGILL執行非法CPU指令(如不支持的指令集)終止并生成core文件
5SIGTRAP調試斷點或陷阱指令觸發(由GDB等調試器使用)終止并生成core文件
6SIGABRT調用abort()函數或斷言失敗(如assert()終止并生成core文件
7SIGBUS內存對齊錯誤(如訪問非對齊地址)終止并生成core文件
8SIGFPE算術異常(如除零、浮點溢出)終止并生成core文件
9SIGKILLkill -9強制終止進程(不可被捕獲、阻塞或忽略立即終止
10SIGUSR1用戶自定義信號1(需程序主動處理)終止進程
11SIGSEGV非法內存訪問(如空指針解引用、緩沖區溢出)終止并生成core文件
12SIGUSR2用戶自定義信號2終止進程
13SIGPIPE向無讀端的管道或Socket寫入數據(如網絡連接斷開后繼續發送)終止進程
14SIGALRM定時器到期(由alarm()setitimer()設置)終止進程
15SIGTERM默認終止信號(kill不加參數時發送),允許進程清理資源終止進程
16SIGSTKFLT協處理器棧錯誤(現代Linux中極少使用)終止進程
17SIGCHLD子進程終止或停止時通知父進程(默認忽略,需主動回收僵尸進程)忽略
18SIGCONT恢復被暫停的進程(如fg命令)繼續執行
19SIGSTOP暫停進程(不可被捕獲、阻塞或忽略Ctrl+Z實際觸發SIGTSTP停止進程
20SIGTSTP終端暫停信號(Ctrl+Z停止進程
21SIGTTIN后臺進程嘗試讀取終端輸入停止進程
22SIGTTOU后臺進程嘗試向終端輸出停止進程
23SIGURGSocket收到帶外數據(OOB)忽略
24SIGXCPU進程CPU時間超限(由setrlimit()設置)終止并生成core文件
25SIGXFSZ文件大小超限(如寫入超過ulimit限制)終止并生成core文件
26SIGVTALRM虛擬計時器到期(統計進程占用CPU時間)終止進程
27SIGPROF性能分析計時器到期(統計CPU及系統調用時間)終止進程
28SIGWINCH終端窗口大小變化(如調整xterm窗口)忽略
29SIGIO異步I/O事件就緒(需配合fcntl()設置)終止進程
30SIGPWR電源故障(由UPS或系統監控進程發送)終止進程
31SIGSYS無效系統調用(如調用不存在的syscall)終止并生成core文件

?關鍵特性說明?

  1. ?不可攔截信號?:
    SIGKILL(9)和SIGSTOP(19)?無法被捕獲、阻塞或忽略?,是系統強制控制進程的終極手段。

  2. ?核心轉儲(Core Dump)??:
    信號如SIGSEGVSIGABRT觸發時默認生成core文件(需系統配置允許),用于事后調試定位崩潰原因

  3. ?進程控制信號組?:

    • ?停止進程?:SIGSTOPSIGTSTPSIGTTINSIGTTOU
    • ?恢復進程?:SIGCONT
  4. ?用戶自定義信號?:
    SIGUSR1(10)和SIGUSR2(12)無預設行為,需程序主動注冊處理函數以實現自定義邏輯(如熱重載配置)

  5. ?異步安全警告?:
    信號處理函數(Handler)中只能調用異步信號安全函數?(如write()_exit()),避免使用malloc()printf()等非安全函數


?常見應用場景?

  • ?服務優雅退出?:捕獲SIGTERM(15)釋放資源后退出
  • ?子進程回收?:處理SIGCHLD(17)避免僵尸進程
  • ?調試定位崩潰?:分析SIGSEGV(11)生成的core文件
  • ?定時任務控制?:通過SIGALRM(14)實現超時機制

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

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

相關文章

小程序使用npm包的方法

有用的鏈接 npm init -y 這個命令很重要, 會初始化 package.json 再重新打開微信小程序開發工具 選擇工具中npm構建 在程序中引用時在main.js中直接使用包名的方式引用即可 如安裝的是generator包,npm構建后就會生成 const myPackage require(***-generato…

騰訊云推出云開發AI Toolkit,國內首個面向智能編程的后端服務

5月28日,騰訊云開發 CloudBase 宣布推出 AI Toolkit(CloudBase AI Toolkit),這是國內首個面向智能編程的后端服務,適配 Cursor 等主流 AI 編程工具。 云開發 AI Toolkit旨在解決 AI 輔助編程的“最后一公里”問題&…

系統是win11+兩個ubuntu,ubuntu20.04和ubuntu22.04,想刪除ubuntu20.04且不用保留數據

在 Ubuntu 22.04 的終端里運行這些命令: 重啟電腦,選擇啟動 Ubuntu 22.04;打開終端;從 lsblk 開始操作。 如果你不確定當前啟動的是哪個系統,可以在終端輸入: lsb_release -a它會輸出: Distributor ID: …

大模型應用開發第三講:大模型是Agent的“大腦”,提供通用推理能力(如GPT-4、Claude 3)

大模型應用開發第三講:大模型是Agent的“大腦”,提供通用推理能力(如GPT-4、Claude 3) 資料取自《大模型應用開發:動手做AI Agent 》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之前寫的…

第十四篇:MySQL 運維中的故障場景還原與排查實戰技巧

本篇通過典型故障場景的還原與分析,幫助你掌握高效、系統的 MySQL 故障排查與應急處理方法,構建穩定可靠的數據庫運維體系。 一、故障排查的基本思路 快速定位問題入口: 錯誤日志、連接報錯、監控告警; 確認影響范圍&#xff1a…

MySQL 分頁查詢優化

目錄 前言1. LIMIT offset, count 的性能陷阱:為什么它慢?😩2. 優化策略一:基于排序字段的“跳躍式”查詢 (Seek Method) 🚀3. 優化策略二:利用子查詢優化 OFFSET 掃描 (ID Subquery)4. 基礎優化&#xff1…

使用curlconverter網站快速生成requests請求包

在python寫requests請求的時候,抓包后需要復制粘貼包的內容,然后手動修改和寫代碼。 最近發現一個好的網站 https://curlconverter.com/python/ 可以復制curl(bash)數據后,直接生成數據包,非常便捷。 舉例說明: 選…

python打卡day41

簡單CNN 知識回顧 數據增強 卷積神經網絡定義的寫法 batch歸一化:調整一個批次的分布,常用與圖像數據 特征圖:只有卷積操作輸出的才叫特征圖 調度器:直接修改基礎學習率 卷積操作常見流程如下: 1. 輸入 → 卷積層 →…

系統思考:化繁為簡的藝術

系統思考,其實是一門化繁為簡的藝術。當我們能夠把復雜的問題拆解成清晰的核心以及更加簡單,從而提升團隊的思考品質和行動品質,發揮最大的合力。 每個公司都想在某方面成為最優秀的,但是實際上具有穿透性的洞察力和擺脫虛榮心的清…

2025.05.28【Parallel】Parallel繪圖:擬時序分析專用圖

Improve general appearance Add title, use a theme, change color palette, control variable orders and more Highlight a group Highlight a group of interest to help people understand your story 文章目錄 Improve general appearanceHighlight a group探索Paralle…

Elasticsearch父子關系解析

引言 在復雜業務場景中,數據關聯查詢是搜索與分析的核心需求。以電商訂單、文章評論、客戶關系等場景為例,傳統關系型數據庫通過外鍵實現的多表關聯,在分布式搜索場景下面臨性能與擴展性挑戰。Elasticsearch通過父子關系(Parent-…

MCP架構全解析:從核心原理到企業級實踐

💝💝💝歡迎蒞臨我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:「storms…

開發者體驗提升:打造高效愉悅的開發環境

“開發者體驗不是奢侈品,而是生產力的倍增器。優秀的工具鏈能讓開發者從機械勞動中解放,專注于創造真正有價值的東西。” —— 前端架構師 Sarah Drasner 1. 自定義 CLI 工具開發 (1) 基于 plop.js 的組件模板生成器 痛點分析:在大型項目中…

運用集合知識做斗地主案例

方法中可變參數 一種特殊形參,定義在方法,構造器的形參列表里,格式:數據類型...參數名稱; 可變參數的特點和好處 特點:可以不傳數據給它;可以傳一個或者同時傳多個數據給它;也可以…

websocket在vue中的使用步驟,以及實現聊天

一、WebSocket集成步驟 ?連接初始化? 在Vue組件中創建WebSocket實例,建議在mounted生命周期中執行: data() {return {socket: null,messages: []} }, mounted() {this.socket new WebSocket(wss://your-server-endpoint); }?事件監聽配置 ?連接成…

HarmonyOS鴻蒙Uniapp三方框架

鴻蒙Uniapp三方框架集成指南 一、環境配置 // 安裝必要依賴 npm install ohos/hvigor-ohos-plugin --save-dev // 配置harmony模塊 "harmony": {"compileSdkVersion": 9,"compatibleSdkVersion": 8,"arktsVersion": "1.0.0&quo…

【HW系列】—溯源與定位—Linux入侵排查

文章目錄 一、Linux入侵排查1.賬戶安全2.特權用戶排查(UID0)3.查看歷史命令4.異常端口與進程端口排查進程排查 二、溯源分析1. 威脅情報(Threat Intelligence)2. IP定位(IP Geolocation)3. 端口掃描&#x…

C++17新特性 Lambda表達式

//lambda表達式的基本語法如下&#xff1a; /* [捕獲列表] (參數列表)mutable(可選)異常屬性 -> 返回類型 { // 函數體 }*/ 1&#xff0c;值捕獲 //1&#xff0c; 值捕獲示例 #include <iostream> void lambda_value_capture() {int value 1;auto copy_value/*返…

園區智能化集成平臺匯報方案

該方案為園區智能化集成平臺設計,依據《智能建筑設計標準》等 20 余項國家與行業規范,針對傳統園區信息孤島、反應滯后、經驗流失、管理粗放等痛點,構建可視化智慧園區管理平臺,實現大屏數據可視化、三維設備監控、智慧運維(含工單管理、巡檢打卡)、能源能耗分析、AI 安防…

Vue-自定義指令

自定義指令 簡單寫法 v-twoAge 功能&#xff1a; 當前年齡翻倍 注意&#xff1a;指令方法名稱 小寫 代碼 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>自定義指令</title><!-- 引入V…