unix中程序执行时信号的状态

unix中,信号是一种很重要的软件中断,提供了一种异步处理事件的方法,那么程序刚开始执行时信号的状态时什么样的呢?

我们知道程序的创建无非两种情况,一种是调用exec函数,一种是调用fork函数。

一般情况下,当一个程序执行时,所有信号的状态都是系统默认或者忽略。通常所有信号的动作都被设置成系统默认,除非调用exec的进程忽略该信号。确切的讲,exec函数将原先设置为要捕捉的信号都更改为系统默认动作,其他信号的状态不变。

因为在新进程中,原进程的信号处理程序的地址在新进程中可能已无意义,所以原来要捕捉的信号在新进程中自然就不能捕捉了。

另外,在fork中,信号的状态很简单,子进程继承其父进程的信号处理方式。

因为子进程开始时复制了父进程的存储映像,所以信号处理程序是有意义的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值