Linux信号

信号的基本概念

1、中断:中止(注意不是终止)当前正在执行的任务,转而执行其它任务(可能返回也可能不返回),中断分为硬件中断(硬件设备产生的中断)和软件中断(其它程序产生的中断)。
2、信号:是一种软件中断,提供了一种异步执行任务的机制。
3、常见的信号
	SIGINT(2)	Ctrl+c 产生的信号
	SIGQUIT(3)	Ctrl+\ 产生的信号
	SIGABRT(6)  调用abort函数,产生此信号
	SIGFPE(8)	浮点数例外,除以0、浮点溢出等
	SIGKILL(9) 	不能被捕获或忽略,常用于杀死进程
	SIGSEGV(11) 段错误信号,非法访问内存产生的信号
	SIGTSTP(20) Ctrl+z 生产的信号
	SIGCHLD(17) 子进程状态改变信号
	注意:在终端中执行 kill -l 可以显示出所有信号
4、不可靠信号
	建立在早期机制上的信号被称为不可靠信号,SIGHUP(1)~SIGSYS(31)。
	不支持排队可能会丢失,同一个信号产生多次,进程可能只接收到一次。
5、可靠信号
	采用新的机制产生的信号,SIGRTMIN(34)~SIGRTMAX(64).
	支持排队,不会丢失。
6、信号的来源
	硬件产生:除0,非法内存访问。
	这些异常是硬件(驱动)检查到,并通知内核,然后内核再向引发这些异常的进程发送相应信号。
	软件产生:通过kill/raise/alarm/setitmer/sigqueue函数产生。
7、信号的处理
	1、忽略
	2、终止进程
	3、终止进程并产生core文件
	4、捕获信号并处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值