一、什么是信号
信号是一种软件终端,提供了一种处理异步事件的方法,也是进程间通信的唯一一个异步的通信方式(信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作。 与信号有关的系统调用在“signal.h”头文件中有声明)
二、常见信号的值
三、响应信号的方式:signal() 函数
常见三种响应方式
收到signal信号 handler 响应方式
1、SIG_DFL: 系统默认处理方式
2、SIG_IGN: 忽略响应方式
3、用户自定义的响应方式
1、SIG_IGN
第一种情况:ctrl+c 已经不能中断了,我们首先打开两个终端,一个终端进行前台运行,另一个中终端则输入 命令 ps - ef | grep “./main”
第二种情况:ctrl + \ 终止前台进程的执行
2、SIG_DFL
3、用户自定义的响应方式
补充:进程第一次收到中断信号,响应方式打印signum(2),第二次收到中断信号,结束当前进程
四、发送信号:kill()
利用信号实现 mykill 命令
运行结果
五、子进程给父进程发送信号 SIGCHLD
运行结果