加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – CreateProcess,使得子进程在父进程被杀时被杀死?

发布时间:2020-12-16 05:27:12 所属栏目:百科 来源:网络整理
导读:有没有办法调用 CreateProcess,以致杀死父进程会自动杀死子进程? 也许使用Create Process Flags? 编辑 解决方案是创建作业对象,将父项和子节点都放在作业对象中.没有父母被杀害,孩子被杀.我从这里得到了代码: Kill child process when parent process is
有没有办法调用 CreateProcess,以致杀死父进程会自动杀死子进程?

也许使用Create Process Flags?

编辑
解决方案是创建作业对象,将父项和子节点都放在作业对象中.没有父母被杀害,孩子被杀.我从这里得到了代码:
Kill child process when parent process is killed
记下@ wilx关于继承句柄的评论.

解决方法

使用作为 Neil says的工作是IMHO最好的方法.您可以通过使用 SetInformationJobObject()在作业对象上设置 JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE,使作业拥有进程死机,使得子进程死机.当您的父进程退出/终止时,作业对象句柄将被关闭.为了使其工作,工作句柄不被子进程继承至关重要.如果您还要跟踪大孩子进程,那么您将必须创建暂停的子进程,将它们添加到您的作业对象中,然后让它们运行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读