信号四要素

与变量三要素(类型、名字、值)类似的,每个信号也有其必备4要素,分别是:1.编号;2.名称(即编号的宏定义) ;3.事件(引起信号产生的事件,如段错误);4.默认处理动作

可以通过man 7 signal 命令查看:

Signal     Value     Action   Comment

──────────────────────────────────

 SIGALRM       14       Term    Timer signal from alarm(2)

SIGTERM       15       Term    Termination signal

SIGUSR1     30,10,16    Term    User-defined signal 1

SIGUSR2     31,12,17    Term    User-defined signal 2

名字        编号      默认处理方式         事件

重点掌握的信号:2、3、7(总线错误)、8、9、10、11、12、13、14、15、17、19和20。要求记住前三个要素(编号、名字和事件)。

在标准信号中,有一些信号是有三个“Value”,第一个值通常对alpha和sparc架构(CPU架构)有效,中间值针对x86、arm和其他架构,最后一个应用于mips架构。一个‘-’表示在对应架构上尚未定义该信号。

不同的操作系统定义了不同的系统信号。因此有些信号出现在Unix系统内,也出现在Linux中,而有的信号出现在FreeBSD或Mac OS中却没有出现在Linux下。这里我们只研究Linux系统中的信号(即只是取中间值)。

信号的默认处理方式有五种(记住):Term:终止进程;Ign:忽略信号 (默认即时对该种信号忽略操作); Core:终止进程,生成Core文件(查验进程死亡原因,用于gdb调试);Stop:停止(暂停)进程;Cont:继续运行进程。

这里特别强调9) SIGKILL 19) SIGSTOP信号,不允许忽略和捕捉,只能执行默认动作。甚至不能将其设置为阻塞。

9) SIGKILL:无条件终止进程。本信号不能被忽略,捕捉和阻塞。默认动作为终止进程。它向系统管理员提供了可以杀死任何进程的方法。

19) SIGSTOP:停止进程的执行。信号不能被忽略,捕捉和阻塞。默认动作为暂停进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

958. 二叉树的完全性检验

给定一个二叉树,确定它是否是一个完全二叉树。 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边&a…

信号的产生

(1)终端按键产生信号(与终端交互的进程) Ctrl c → 2) SIGINT(终止/中断) "INT" ----Interrupt Ctrl z → 20) SIGTSTP(暂停/停止) "T" ----Termin…

897. 递增顺序查找树

给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。 示例 : 输入:[5,3,6,2,4,null,8,1,null,null,null,7,9]5/ \3 6/ \ \2 4 8/ …

信号集操作函数

内核通过读取未决信号集来判断信号是否应被处理。信号屏蔽字mask可以影响未决信号集。而我们可以在应用程序中自定义set来改变mask。已达到屏蔽指定信号的目的。综上:自定义信号集set(也为一个字,64位)通过信号集操作函数来改变信…

信号捕捉(signal、sigaction)

信号的基本属性:软中断,由内核发送,内核处理。某个进程通过内核向另一个进程发送信号时(引起信号产生的五个因素),另一个进程将会陷入内核进行中断处理,未决信号集中相应信号置1,当递…

1090 Highest Price in Supply Chain (25)(25 分)

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

时序竞态(竞态条件)

产生原因:仍然以前文实现的sleep函数为例,如果进程在执行完alarm函数后,突然失去CPU,被阻塞等待(这是有可能的,进程在执行过程中,若非原子操作,都有可能随时失去CPU)&…

1106 Lowest Price in Supply Chain (25)

A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone involved in moving a product from supplier to customer. Starting from one root suppli…

【Leetcode | 顺序刷题 】二分查找目录

二分查找序号题号129. 两数相除 50. Pow(x, n) 69. x 的平方根

sigsuspend函数(mysleep函数的改进)

可以通过设置屏蔽SIGALRM的方法来控制程序执行逻辑,但无论如何设置,程序都有可能在“解除信号屏蔽”与“挂起等待信号”这个两个操作间隙失去cpu资源。除非将这两步骤合并成一个“原子操作”。sigsuspend函数具备这个功能。在对时序要求严格的场合下都应…

【Leetcode | 顺序刷题】数学目录

序号题号1 7. 整数反转 28. 字符串转换整数 (atoi)39. 回文数443. 字符串相乘

全局变量的异步I/O问题

全局变量的异步I/O问题同样属于时序竞态问题,其本质就是多个进程或者同一个进程中的多个时序(如主控程序和信号捕捉时的用户处理函数)对同一个变量进行修改时,它们的执行顺序不一样就会导致该变量最终的值不一样,从而产…

【Leetcode | 03】String

字符串目录序号题号33. 无重复字符的最长子串 151. 翻转字符串里的单词

可/不可重入函数

一个函数在被调用执行期间(尚未调用结束),由于某种时序(递归或者处理信号捕捉时等情况)又被重复调用,称之为“重入”。根据函数实现的方法可分为“可重入函数”和“不可重入函数”两种。看如下程序。 可以看…

【Leetcode | 顺序刷题】杂项目录

序号题号类别1136. 只出现一次的数字位运算2137. 只出现一次的数字 II位运算3 260. 只出现一次的数字 III 位运算4191. 位1的个数位运算5231. 2的幂位运算6342. 4的幂位运算7 338. 比特位计数 位运算8405. 数字转换为十六进制数位运算9371. 两整数之和位运算10401. 二进制手表位…

SIGCHLD信号

(1)SIGCHLD信号产生的条件 1.子进程终止时会向父进程发送SIGCHLD信号,告知父进程回收自己,但该信号的默认处理动作为忽略,因此父进程仍然不会去回收子进程,需要捕捉处理实现子进程的回收; 2.子…

信号传参

(1)发送信号传参 前面已经知道从一个进程向另一个进程发送信号可以使用kill函数,但是kill函数在向进程发送信号的时候不能携带除了信号以外的其他信息,这时可以使用与kill相对应的sigqueue函数,该函数也是向一个进程发…

【Leetcode | 52】257. 二叉树的所有路径

给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 解法一&a…

623. 在二叉树中增加一行

给定一个二叉树,根节点为第1层,深度为 1。在其第 d 层追加一行值为 v 的节点。 添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为 v 的左子树和右子树…

终端的概念

操作系统接口:用户接口和程序接口。用户接口分为联机用户接口和脱机用户接口。脱机用户接口出现在早期的批处理系统中(将作业提前交给操作系统,作业完成的过程中用户无法交互);联机用户接口即为终端(所有输…