信号(一)

信号简介
1.信号由[内核]产生发送的
软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。

2.信号的状态
产生
未决:未处理,等待被进程处理
递达:已经处理

3.信号处理方式
忽略;捕捉;执行了默认的操作

4.查看信号的默认动作以及信号的含义:man 7 signal
Term 终止
Ign 忽略
Core 终止后,产生core文件,用于调试
Stop 暂停
Cont 继续执行

5.常见信号kill -l
注意:有两个信号不能被忽略,不能被捕获:SIGKILL(9号信号)和SIGSTOP。
SIGABRT 进程非正常终止, 可能来自 abort(3)
SIGALRM 警告钟
SIGUP    系统挂掉
SIGINT    终端ctrl+C
SIGQUIT    终端退出ctrl+
SIGTERM    终止
SIGKILL    杀死进程信号
SIGPIPE    向没有读者的管道写入数据
SIGSEGV    段错误:无效内存段访问
SIGUSR1    用户自定义信号1
SIGUSR2    用户自定义信号2
SIGCHLD    子进程停止

可靠信号(实时信号)和不可靠信号(不实时信号)
哪些是可靠/不可靠信号?
[1]实时信号都是可靠信号(支持排队);不实时信号都是不可靠信号(不支持排队)
[2]kill -l的前31个信号,都是不可靠信号;后面的都是可靠信号
定义:
不可靠信号:指向应用程序发送了3次信号,而应用程序只接收到1次信号
可靠信号:指向应用程序发送了3次信号,有下面两种情况保证信号可靠:
(1) 应用程序收到3次信号
(2) 即使没收到3次信号:假设收到1次信号,则会告诉应用程序还有2此信号没收到
不可靠信号存在的缺点:信号可能丢失
可靠信号是[有序的][支持排队]:先注册的信号,先执行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值