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 就收到了两个信号,两个信号就都结束了,所以和回调函数类似,没有返回值。

相关文章
|
9月前
|
消息中间件 Unix Linux
进程通信 软中断 signal()解读
进程通信 软中断 signal()解读
|
4月前
|
存储 Unix Linux
<C语言错误处理> <signal.h>头文件及signal函数等内置函数
<C语言错误处理> <signal.h>头文件及signal函数等内置函数
|
10月前
|
存储 固态存储 Linux
深入学习tombstone和signal
深入学习tombstone和signal
130 0
深入学习tombstone和signal
|
11月前
|
C++
boost之signal的使用
boost是C++的一个扩展库,被称为C++准标准库,里面的组件很丰富,并且引用方便,85%的组件只需要引用头文件即可使用。在嵌入式系统也可以很方便的使用,这里介绍一下signal的使用,有点类似Qt里的信号槽。 可以接收静态函数、类成员函数、labmda表达式。 下面这个是使用signal封装的一个事件注册处理模板,使用起来还是很方便的。
98 0
pthread_detach函数
指定该状态,线程主动与主控线程断开关系。线程结束后(不会产生僵尸线程),其退出状态不由其他线程获取,而直接自己自动释放(自己清理掉PCB的残留资源)进程结束后,线程也会结束。网络、多线程服务器常用
|
Linux
wait() 函数和 waitpid() 函数
wait() 函数和 waitpid() 函数
614 0
wait() 函数和 waitpid() 函数
|
物联网 Linux 开发者
signal 函数返回值|学习笔记
快速学习 signal 函数返回值
187 0
signal 函数返回值|学习笔记
|
物联网 Linux C语言
Wait 函数|学习笔记
快速学习 Wait 函数
181 0
Wait 函数|学习笔记
|
物联网 Linux 开发者
Waitpid 函数|学习笔记
快速学习 Waitpid 函数,“Waitpid 函数”,也是“等”。虽然功能和 “Wait” 相同,但是 “Waitpid” 实现的功能比 “Wait” 实现的功能更多。
121 0
Waitpid 函数|学习笔记
|
JavaScript 物联网 Linux
Alarm 函数|学习笔记
快速学习 Alarm 函数
95 0