博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux信号
阅读量:4452 次
发布时间:2019-06-07

本文共 490 字,大约阅读时间需要 1 分钟。

读书笔记

 

信号是由用户/系统或进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。

Linux信号可由如下条件产生:

1).对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个中断信号。

2).系统异常。比如浮点异常和非法内存段访问。

3).系统状态变化。比如alarm定时器到期将引起SIGALARM信号。

4).运行kill命令或者调用kill函数。

 

信号是一种异步事件:信号处理函数和程序的主循环是两条不同的执行路线。

信号处理函数需要尽可能快地执行完毕,以确保该信号不被屏蔽(为了避免一些竞态条件,信号在处理期间,系统不会再次触发它)太久。

典型的方案:信号的主要处理逻辑放在主循环中,当信号处理函数被触发时,它一般通过管道将信号传递给主循环,然后自身退出。主循环使用I/O复用系统调用来监听管道的读端文件描述符上的可读事件。

 

《Linux高性能服务器编程》

转载于:https://www.cnblogs.com/bugchecker/p/basic_signal_concept_of_linux.html

你可能感兴趣的文章
【bzoj1082】栅栏[SCOI2005]
查看>>
day18 Java学习(Map集合)
查看>>
Integer与int的区别
查看>>
hdu 1087
查看>>
LazyMan的Promise解法
查看>>
lua语言三则特性
查看>>
asp.net的Nelocity模板引擎
查看>>
fis webpack 原理对比
查看>>
22 广播的发送
查看>>
Linux 创建用户 限制SFTP用户只能访问某个目录
查看>>
正则表达式的学习笔记
查看>>
android图片特效处理之图片叠加
查看>>
结束贪心hdu 2491 Priest John's Busiest Day
查看>>
RHEL7中防火墙firewalld基础使用配置
查看>>
编程漫谈(八):此刻的幸福
查看>>
Python实现Json结构对比的小工具兼谈编程求解问题
查看>>
Java入门之:基本数据类型
查看>>
导航属性
查看>>
指针函数与函数指针
查看>>
Git工作流总结
查看>>