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

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

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

相关推荐
爱喝热水的呀哈喽44 分钟前
openroad make各个阶段
服务器
GeW1 小时前
红帽RHCE从挂科边缘到一次过,我做对了什么
linux
时空自由民.1 小时前
WSL解决USB 串口连接问题与linux串口权限问题
linux·单片机
OpenPomeloxCommunity1 小时前
Linux驱动基础(三):firmware的声明与加载
linux·操作系统
云计算练习生2 小时前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理
闲云野鹤在人间2 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
亚川楼宇自控系统数据中心厂家2 小时前
IBMS 集成如何打通数据中心的子系统数据孤
运维
玄芯散人3 小时前
【筑基·059】Linux命令行入门:工程师的操作系统
linux·操作系统·命令行
半仙白桑3 小时前
内核篇第二讲:Linux exec 函数族详解
linux·linux驱动
AR-26710-3 小时前
Linux Day7——建组/用户、umask、Python脚本
linux·python