原文地址:
作者:
iteye_3185
https://blog.csdn.net/iteye_3185/article/details/82138875?spm=1001.2101.3001.6650.17&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-17-82138875-blog-119456193.pc_relevant_sortByStrongTime&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-17-82138875-blog-119456193.pc_relevant_sortByStrongTime&utm_relevant_index=23
一 信号的种类
可靠信号与不可靠信号, 实时信号与非实时信号
可靠信号就是实时信号, 那些从UNIX系统继承过来的信号都是非可靠信号, 表现在信号
不支持排队,信号可能会丢失, 比如发送多次相同的信号, 进程只能收到一次. 信号值小于
SIGRTMIN的都是非可靠信号.
非可靠信号就是非实时信号, 后来, Linux改进了信号机制, 增加了32种新的信号, 这些信
号都是可靠信号, 表现在信号支持排队, 不会丢失, 发多少次, 就可以收到多少次. 信号值
位于 [SIGRTMIN, SIGRTMAX] 区间的都是可靠信号.
1、个人学习心得:
1)得在支持linux信号机制的系统下执行,程序才生效。
刚开始愚蠢地在windows10下,用codeBlocks抄了信号处理的实例,想执行,还纳闷呢!!
2、kill与kill -9的区别(转)
2022-08-19
kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程
执行kill命令,系统会发送一个SIGTERM信号给对应的程序。当程序接收到该signal信号后,有以下几种情况:
(1)程序立刻停止
(2)当程序释放相应资源后再停止
(3)程序可能仍然继续运行
大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情
(如果程序正在等待IO,可能就不会立马做出响应,我在使用wkhtmltopdf转pdf的项目中遇到这现象),也就是说,SIGTERM多半是会被阻塞的。
原文:https://www.cnblogs.com/654321cc/p/13736209.html
阅读(556) | 评论(0) | 转发(0) |