linux信号介绍

目录

信号

信号是一种进程间通信(IPC)机制,主要用于处理异步事件。

术语解释

术语 解释
生成信号 发生了一个需要引起进程注意的事件而导致信号出现时。也叫发送信号
信号交付 被发送信号的那个进程识别到了信号并采取了适当动作。也叫接收信号
信号句柄 当信号出现时调用进行专门处理的函数。这个函数称为捕获函数或信号句柄
信号捕获 若信号交付时进程执行信号句柄,称进程捕获了信号
悬挂信号 当一个信号已经生成,但还未交付时,称该信号是悬挂的

信号类型

Linux支持62个信号。可以通过在终端输入kill -lman 7 signal来查看。

信号的宏定义和编号都定义在signal.h中。

信号产生

信号的产生方式多种多样,主要有3种:

  • 程序错误
    • 程序异常,如零做除数
    • 进程超越CPU或文件大小的限制
  • 外部事件
    • 通过键盘终端
  • 显示请求
    • kill命令(或函数)

通过键盘终端

组合键 信号
Ctrl+C SIGINT
Ctrl+\ SIGQUIT
Ctrl+Z SIGSTOP

通过kill命令

shell 复制代码
kill -信号编号 进程号       #比如 kill -15 4264
kill -信号的宏定义 进城号    #比如 kill -SIGTERM 4264

调用系统函数

  • \[kill\|kill\]

  • \[raise\|raise\]

  • \[alarm\|alarm\]

  • \[abort\|abort\]

信号处理

主要有3种:

  1. 忽略信号,对该信号不做处理,进程继续执行。但SIGKILLSIGSTOP不能忽略
  2. 捕捉信号,使进程执行指定的程序代
  3. 默认处理方法,系统为每一个信号都设置了默认处理方法,通常为终止进程:
    • 流产
    • 终止
    • 忽略
    • 挂起
    • 继续
相关推荐
Irissgwe17 小时前
六、Ext系列文件系统(2.核心原理与应用)
linux·分区··inode·软硬连接·路径缓存·ext系列文件
tkevinjd18 小时前
wsl2安装
linux·wsl·虚拟机·wsl2
故事还在继续吗18 小时前
Linux 内核模块开发实战
linux·linux内核
南境十里·墨染春水19 小时前
linux学习进展 守护进程
linux·服务器·学习
REDcker19 小时前
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践
android·linux·debug·编译·clang·asan·hwasan
数智工坊20 小时前
VMware 17 Pro 中 Ubuntu 虚拟机共享 Windows 文件夹(完美踩坑版)
linux·人工智能·windows·ubuntu
广州灵眸科技有限公司20 小时前
瑞芯微(EASY EAI)RV1126B openclaw部署接入飞书
linux·网络·人工智能·算法·yolo·飞书
Irissgwe20 小时前
六、Ext系列文件系统(1.基础概念铺垫)
linux·block·inode·ext文件系统·block group·块儿
Irissgwe20 小时前
四、进程控制(进程等待与进程程序替换,shell)
linux·shell·进程·进程等待·进程程序替换
笨笨饿21 小时前
80_聊聊SPI以及它们的变体
linux·c语言·网络·stm32·单片机·算法·个人开发