【合集】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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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…