linux信号介绍
创始人
2024-11-11 11:37:24

目录

  • 信号
  • 术语解释
  • 信号类型
  • 信号产生
    • 通过键盘终端
    • 通过kill命令
    • 调用系统函数
  • 信号处理

信号

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

术语解释

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

信号类型

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

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

信号产生

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

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

通过键盘终端

组合键信号
Ctrl+CSIGINT
Ctrl+\SIGQUIT
Ctrl+ZSIGSTOP

通过kill命令

kill -信号编号 进程号       #比如 kill -15 4264 kill -信号的宏定义 进城号    #比如 kill -SIGTERM 4264 

调用系统函数

  • [[kill|kill]]
  • [[raise|raise]]
  • [[alarm|alarm]]
  • [[abort|abort]]

信号处理

主要有3种:

  1. 忽略信号,对该信号不做处理,进程继续执行。但SIGKILLSIGSTOP不能忽略
  2. 捕捉信号,使进程执行指定的程序代
  3. 默认处理方法,系统为每一个信号都设置了默认处理方法,通常为终止进程:
    • 流产
    • 终止
    • 忽略
    • 挂起
    • 继续

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...