Linux -- 信号

信号(Signal)

1. 信号基本概念

  • 信号是软件中断,用于内核 / 进程通知某进程发生事件。

  • 进程对信号的三种处理方式:

    1. 默认动作(终止、暂停、忽略等)

    2. 忽略(SIGKILL、SIGSTOP 不可忽略)

    3. 自定义捕捉(注册信号处理函数)

2. 常用信号

信号名 编号 说明 备注
SIGINT 2 终端中断 Ctrl+C 常用
SIGQUIT 3 终端退出 Ctrl+\ 产生 core
SIGKILL 9 强制杀死进程 不可捕捉、不可忽略
SIGALRM 14 闹钟超时
SIGUSR1 10 用户自定义信号

3. 信号相关函数

  1. signal (信号,处理方式)

    • SIG_IGN:忽略信号

    • SIG_DFL:恢复默认处理

    • 自定义函数:捕获信号

  2. kill (pid, 信号)

    • 向指定进程发送信号
  3. atoi()

    • 字符串转整数(命令行传信号 / 进程号)

4. 信号关键特性

  • SIGKILL (9)、SIGSTOP (19) 不能被捕获、忽略、阻塞

  • 信号处理函数执行期间,同种信号会被暂时阻塞

  • 信号是异步的:什么时候来不确定

相关推荐
数字化顾问几秒前
(122页PPT)企业数字化IT架构蓝图规划设计方案(附下载方式)
java·运维·架构
ITyunwei098711 分钟前
灾难恢复与业务连续性:如何确保天灾人祸下,业务也能“屹立不倒”?
运维·服务器
Promise微笑33 分钟前
2026电缆故障定位仪:缆故障定位仪精准选型与高效避坑指南
运维·人工智能·重构
爱喝水的鱼丶34 分钟前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
学术小李1 小时前
VSCode上传文件到服务器
服务器·vscode·sftp·数据上传
hweiyu001 小时前
Linux命令:nmtui
linux
MY_TEUCK1 小时前
【2026最新Linux虚拟机安装】Linux 虚拟机安装VMware 17 + CentOS 7
linux·运维·centos
Rust研习社1 小时前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
Shingmc31 小时前
【Linux】传输层协议TCP
linux·网络·tcp/ip
再战300年2 小时前
nginx之负载均衡
运维·nginx·负载均衡