【Linux】信号的捕捉(捕捉过程及捕捉函数)

信号的捕捉过程

我们现在知道了信号在产生之后不是被立即处理的,而是在合适的时候才进行处理,那么什么时候是合适的时候呢?信号又是怎么被捕捉的呢?

合适的时候是指:从内核态切换为用户态时进行信号的捕捉。

在Linux下,作为普通用户的我们会发现我们有时候会有一些文件不能进入、有一些文件不能创建、有一些信息不能看、我们创建的进程总数总是有上限的,我们访问不了硬件层面的 东西,感觉自己被限制了,其实这就是一种权限。

内核态和用户态都是一种状态,这两种状态表示了两种身份,这两种身份表示了不同的权限等级,我们在访问0-3G的地址空间时,我们用的是用户权限,而我们通过系统调用接口以及我们想要访问地址空间里的3-4G空间时,我们就需要把自己的身份从内核态转换为用户态。因此,内核态和用户态最大的区别就是权限,内核态允许访问3-4G的空间

从用户态到内核态的过程是权限升级的过程,而从内核态到用户态的过程是要从安全方面考虑的,因为操作系统不相信任何人,只相信它自己,所以要想要访问操作系统内部进行访问时必须通过系统调用接口。操作系统的代码只能由操作系统执行,用户的代码就只能由用户执行,因此就会有内核态和用户态两种状态之间的相互转变。

如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值