为了账号安全,请及时绑定邮箱和手机立即绑定

关于主线程收不到信号的问题

关于主线程收不到信号的问题

吃鸡游戏 2019-04-13 08:46:13
在一个应用中,注册了信号的处理函数,并添加了相应的处理。主程序中,同时也调用了msgrcv接口(工作在阻塞状态下)。程序运行在前台,当按下ctrl+c的时信号处理函数并没有收到该信号,而是msgrcv收到信号中断退出了。这样的话,信号处理函数就没有什么作用了。针对这个问题,大家如何看,又如何处理?
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

ctrl+c发送信号
我个人认为,信号处理方式应该不是按照正常的消息处理的,应该属于软中断的方式。
如果单纯的想处理ctrl+c的消息的话,使用signal函数就是了,而且根据该还是的调用方式,将处理函数与信号绑定,以回调的方式进行调用,那么信号的产生方式大概就是软中断。所以使用阻塞态也不一定可以捕获到。
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 606 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信