开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux网络编程---------信号大讲堂

简介:
+关注继续查看

1. 信号简介     

    linux系统中无时无该产生着信号.信号在linux上又称软件中断,用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。


2. 信号的四要素

    • 编号:每种信号在linux系统中都有唯一的编号.可在命令下通过kill -l查看所有信号

    • 信号名:每种信号在linux系统中都有唯一的信号名,可在命令下通过kill -l查看所有信号

    • 事件:需要满足特定事件才发送

    • 默认处理动作:每种信号都有默认处理行为(下面会详细说明)


3. 信号的共用性:

    • 简单:信号是linux IPC进程间通信中开销最小的机制

    • 不能携带大量数据

    • 需要满足特定事件才发送



4. 信号的机制

    • 每个进程收到的所有信号,都是由内核kernel负责发送,并由内核在内核处理执行


5. 产生信号的分类

    • 键盘:

      • Ctrl+c --->  2  SIGINT 

      • Ctrl+z --->  19 SIGSTOP

      • Ctrl+\ --->  3  SIGQUIT


    • 系统调用

      • 程序上,kill sigqueue

    • 软件条件满足

      • alarm  setitimer 定时器


    • 硬件错误(程序错误)

      • 非法访问内存: 段错误 ----> 11   SIGSEGV

      • 除0: 浮点数例外        ----> 8    SIGFPE

      • 内存对齐出错:总线错误 ---->

    • 命令发出

      • kill

6. 信号的处理方式

    • 执行默认动作

      • term  终止进程

      • lgn   忽略信号

      • core  终止进程,并产生core文件,供调试使用

      • stop  停止(暂停)进程

      • cont  继续运行进程  

    • 执行忽略处理

    • 捕捉: 执行用户注册时的回调函数

  • ***注意:SIGKILL 和 SIGSTOP信号处理方式只能是执行默认动作,不能够忽略和捕捉.




      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1787830,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux使用adb命令连接WiFi进行无线调试
Linux使用adb命令连接WiFi进行无线调试
94 0
Linux find 命令介绍
Linux find 命令介绍
34 0
【小知识】快速入手Linux yum 命令
【小知识】快速入手Linux yum 命令
55 0
Linux从零开始(三、命令图解)
Linux从零开始(三、命令图解)
37 0
Linux 习题练习-01(文件操作命令、压缩命令、软件安装)
Linux 习题练习-01(文件操作命令、压缩命令、软件安装)
73 0
Linux 习题练习-02(grep、find命令、yum源配置)
Linux 习题练习-02(grep、find命令、yum源配置)
65 0
43、linux shell命令,chmod
1、说明 change file access permissions chmod [OPTION]... MODE[,MODE]... FILE... 完整的数字权限是4位数。
869 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载