栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以向处理程序发出信号,使其在执行“ exec”之后继续生存?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以向处理程序发出信号,使其在执行“ exec”之后继续生存?

否。从

man
页面:

execve()不会成功返回,并且调用过程的文本,数据,bss和堆栈会被加载的程序覆盖。调用的程序将继承调用进程的PID,以及所有未设置为在exec上关闭的打开文件描述符。呼叫过程中待处理的信号被清除。设置为由呼叫过程捕获的任何信号都将重置为其默认行为。SIGCHLD信号(设置为SIG_IGN时)可能会也可能不会重置为SIG_DFL。

实际上,如果在代码被一些非常不同的代码替换之后,信号处理程序仍然处于活动状态,那么您可能会在信号出现时遇到各种混乱。毕竟,信号处理程序只是发生某种情况(折扣

SIG_IGN
SIG_DFL
暂时)时要调用的地址。谁知道当您替换整​​个文本段时,该地址处的代码是什么?



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393052.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号