信号signal编号及意义及一般处理

SIGQUIT:停止

SIGILL:illegal instruction

SIGABRT:Abort

SIGFPE:Float point exception

SIGPIPE:Broken pipe

SIGBUS:总线错误(访问mem)

SIGSEGV:段错误

一般情况下,程序应对上述信号进行处理,一方面探测程序bug,另一方面防止一些异常信号促使程序不能正常运行。

 

信号处理

  • linux对每种信号都规定了默认动作,具体可参考man 7 signal
  • SIGCHLD 忽略
  • 实时信号结束进程。
  • 如果不想程序采用默认动作处理进程,需要捕捉函数(为想要特殊处理的函数指定信号处理函数)。
  • 如发生SIGALARM或SIGPIPE,进行超时处理即可,不必终止进程。此外若想发生信号时做特殊处理也应指定信号处理函数,如发生段错误时,提示用户等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值