signal 函数1|学习笔记

简介: 快速学习 signal 函数1

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频signal 函数1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11013


signal 函数1

 

内容介绍

一.处理方式

二.功能

三.参数

四.系统默认动作

五.运行

 

一.处理方式

收到一个信号,像之前学到的GOI 一样,创建完了之后我可以去设置一下收到按某个按钮做什么事,不同的按钮做不同的事,信号设定,等待信号的到来,原理都是一致的,进程接收到信号后的处理方式。

1.当我收到一个信号时,可以执行系统默认动作

2.忽略此信号

3.执行自定义信号处理函数,程序中可用函数 signal ()改变信号的处理方式。

如果是第3中就要自己设定一个函数,进行定义,收到某一个信号就调自己的函数,干什么事都是收到的信号来决定的

在信号设定中是用 signal 去设定的,将来进程收到这个信号的时候,就要调用 signal 函数,handler 是函数值的类型,就是将来收到信号,就是自动调用 handler 函数。

 

二.功能

功能:

注册信号处理函数(不可用于 SIGKILL,SIGSTOP信号),即确定收到信号后处理函数的入口

 

三.参数

参数:

signal 信号编号 handler 的取值:忽略该信号,SIG-IGN,执行

 

四.系统默认动作

系统默认动作:

SIG-DFL ,自定义信号处理函数:信号处理函数名,如果调了参数是 SIG-DFN 意味这将信号忽略,如果第二个参数是 SIG-DFL的话,意思就是将来收到 signum的信号,第三种情况就是自己的进来,成功返回上一个入口,然后失败返回上一个。跟GDP效果按钮差不多。

 

五.运行

运行就会打印一句话:

wait for 然后 signal 进行信号设定,当我收到 SIGTNT 时就会调用函数,收到另外一个信号也会调用,handler 函数,然后接下来 pause 就继续等信号,又等一个信号之后程序就结束了,回调函数是自己定义的,必须没有参数,有一个整行的参数,将来你收到哪一个信号之后就调这个回调函数, signo 就是信号的标识,就是编号,你收到其他信号就不调这个函数,然后看效果2,image.gif

等待信号,回调函数被执行,按 control 加执行就导入了一个 recv SIGQUIT 就收到了两个信号,两个信号就都结束了,所以和回调函数类似,没有返回值。

相关文章
|
2月前
|
安全 C语言
C 安全函数
C 安全函数。
29 3
|
8月前
|
算法 编译器 C语言
函数—C(下)
函数—C(下)
60 0
|
6月前
写一个函数
【7月更文挑战第4天】写一个函数。
44 2
|
7月前
|
算法 Java 开发者
解密CollectGarbage函数
解密CollectGarbage函数
|
7月前
|
C++
<iomanip>库中setw(),setfill()等函数的使用
<iomanip>库中setw(),setfill()等函数的使用
172 0
|
程序员 编译器 C语言
从零带你认识函数(一)
从零带你认识函数
94 1
|
8月前
函数(二)
函数(二)
30 0
|
8月前
函数(三)
函数(三)
49 0
|
算法 程序员 信息无障碍
从零带你认识函数(二)
从零带你认识函数
93 1
|
算法 编译器 API
8.函数
8.函数
79 0

热门文章

最新文章