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) 不能被捕获、忽略、阻塞

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

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

相关推荐
ZzzZZzzzZZZzzzz…6 分钟前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
jufeng130711 分钟前
【系列:MiniKV 原理剖析 · 第 8 篇(完结篇)】
linux·c++·log4j·软件工程·makefile
BerrySen17813 分钟前
一个 JDBC 参数引发的架构演进:Apache SeaTunnel 如何解决数据同步中的“定时 Flush”难题
运维·自动化·zabbix
qetfw16 分钟前
Debian OpenSSL 搭建 CA 证书服务:签发、吊销与客户端信任
linux·debian·openssl·ca
Embedded-Xin25 分钟前
中间件—zenoh零基础入门
linux·中间件·rust·机器人·自动驾驶·嵌入式
草莓熊Lotso1 小时前
【Linux网络】从0手写Reactor反应堆(二):完善核心细节——ET非阻塞读写、分层架构与回调机制
linux·运维·服务器·网络·c++·tcp/ip·架构
橘色的喵1 小时前
ARM-Linux 嵌入式消息总线:高优先级驱逐机制设计
linux·arm开发·性能优化·嵌入式·newosp
mounter6251 小时前
深度解析 eBPF LSM:如何利用 eBPF 构建安全的 Linux 内核纵深防御体系
linux·安全·ebpf·linux kernel·kernel
xlq223222 小时前
高并发服务器day21
运维·服务器
DFT计算杂谈2 小时前
FeSe超薄膜在CaF2衬底上的电子结构DFT研究
java·服务器·前端