linux信号使用注意事项

1.不要在信号处理函数中处理复杂的事情
2.信号处理函数中不能有互斥锁会造成死锁,可以用信号量替代
3.信号是置位方式实现,多次发送相同的信号可能只会收到一次
4.子进程具有继承父类信号屏蔽,不能在信号处理函数中启动自身
查看进程pcb(process control block)
/proc/<pid>/status 文件更直观地查看到指定进程的信息屏蔽情况
cat /proc/21517/status

SIGUSR1=16=0x8000
SIGUSR2=17=0x10000

0x18000
SigBlk: 00000000000000000000000080018000


SigQ:   0/459
SigPnd: 00000000000000000000000000000000
ShdPnd: 00000000000000000000000000000000
SigBlk: 00000000000000000000000080000000
SigIgn: 00000000000000000000000000001000
SigCgt: 00000000000000000000000380018000
CapInh: 0000000000000000


SigPnd: 00000000000000000000000000000000
ShdPnd: 00000000000000000000000000000000
SigBlk: 00000000000000000000000080018000
SigIgn: 00000000000000000000000000001000
SigCgt: 00000000000000000000000380018000
SigPnd | The bitmap of pending signals
SigBlk | The bitmap of blocked signals
SigIgn | The bitmap of ignored signals
SigCgt | The bitmap of catched signals  
 
 
Linux 信号以及开发中常见信号错误
https://blog.csdn.net/u010674648/article/details/78848909?utm_medium=distribute.wap_relevant.none-task-blog-title-4
Linux信号丢失问题分析
https://blog.csdn.net/gaoxuelin/article/details/9701147?utm_source=blogxgwz3
Linux信号透彻分析与理解
https://blog.csdn.net/dyzhen/article/details/85322111
信号的原理和利用--实现sleep函数
https://blog.csdn.net/stay_the_course/article/details/72902501

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值