Linux系统下进程接收到信号后。。

linux系统下,比如说一个进程给自身发信号,那么当进程接到信号时,是先执行发送语句的下一句,还是先执行信号处理函数?

2个回答

这个问题问的不是很具体。
一个进程给自身发信号(很罕见的情形),那么势必存在一个信号的监听函数listen,也就需要一个信号的处理函数handle。
而一般来说进程发出信号以后很可能有其他的任务要做,不能一直等待接收信号,所以要么采用多线程机制,要么采用异步选择机制。
如果是这样的话,先执行哪个任务就不好说了。
不知道我又没有理解对你的问题?

Meditator_hkx
Meditator_hkx 那就要分析一下raise()函数的机制了,如果它本身包含消息监听和处理的话肯定就在sleep前执行了噻~
接近 5 年之前 回复
a649045636
a649045636 举个简单的例子,比如说给自身raise了一个消息,raise下一句是sleep,那么进程是先sleep,还是先处理消息?
接近 5 年之前 回复

你可以写一个小程序测试一下。

a649045636
a649045636 好吧,可能是随机的,都有可能先执行
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐