社区
进程/线程/DLL
帖子详情
问一个关于子进程的难题?!
leehq
2006-10-05 11:37:28
用"CreateProcess"创建一个子进程后,能不能够在父进程终止时就自动终止子进程。
注意我说的不是在父进程终止时写代码终止子进程,也不是在子进程运行时写代码判断父进程是否终止!
...全文
284
13
打赏
收藏
问一个关于子进程的难题?!
用"CreateProcess"创建一个子进程后,能不能够在父进程终止时就自动终止子进程。 注意我说的不是在父进程终止时写代码终止子进程,也不是在子进程运行时写代码判断父进程是否终止!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leehq
2006-10-10
打赏
举报
回复
KeSummer([IN]LPVOID YourLove [OUT]LPVOID MyLove) :
我还是不用调试了,不过还是多谢你的帮助!
leehq
2006-10-07
打赏
举报
回复
?
KeSummer
2006-10-07
打赏
举报
回复
不清楚,我没测试过~~~~~不过你可以卸载调试器看看~~
leehq
2006-10-07
打赏
举报
回复
KeSummer([IN]LPVOID YourLove [OUT]LPVOID MyLove)
用调试的方式会不会影响执行效率啊?
hcj2006
2006-10-07
打赏
举报
回复
那还不简单,再写一个程序用来监察那两个进程的运行情况,一旦发现父进程终止了,就终止那个子进程不就OK了
KeSummer
2006-10-07
打赏
举报
回复
??LZ还有什么问题?
leehq
2006-10-06
打赏
举报
回复
libotudou(土豆)
父进程终止了,子进程就自然终止了,只是这样极有可能会存在内存泄露!
-----------------------------------------------------------------------
怪了,为什么我用"CreateProcess"启动了一个进程,然后将父进程关闭,但是那个进程还在运行啊!?
KeSummer
2006-10-06
打赏
举报
回复
LZ的想法大概是这样吧~自己的程序执行别的程序,例如记事本,然后自己的程序结束(或者崩溃了),那么记事本也自动退出是吧~~其实用调试的方法就可以实现,代码如下:
char szCommandLine[] = "Notepad";
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW; // 指定wShowWindow成员有效
si.wShowWindow = TRUE; // 此成员设为TRUE的话则显示新建进程的主窗口,
// 为FALSE的话则不显示
BOOL bRet = ::CreateProcess (
NULL, // 不在此指定可执行文件的文件名
szCommandLine, // 命令行参数
NULL, // 默认进程安全性
NULL, // 默认线程安全性
FALSE, // 指定当前进程内的句柄不可以被子进程继承
DEBUG_ONLY_THIS_PROCESS,
NULL, // 使用本进程的环境变量
NULL, // 使用本进程的驱动器和目录
&si,
&pi);
DEBUG_EVENT evt;
while (TRUE)
{
if (WaitForDebugEvent(&evt,150))
{
ContinueDebugEvent(evt.dwProcessId,evt.dwThreadId,DBG_CONTINUE);
}
}
leehq
2006-10-06
打赏
举报
回复
谢谢上面的回复!
还有没有高手来回答啊?
KeSummer
2006-10-06
打赏
举报
回复
在CreateProcess里加调试标志,这个问题我研究过,但除了加调试标志似乎没好的方法了..
DentistryDoctor
2006-10-06
打赏
举报
回复
父进程结束后,并不会自动结束子进程。
“不是在父进程终止时写代码终止子进程,也不是在子进程运行时写代码判断父进程是否终止!”,那不好办。
rickerliang
2006-10-06
打赏
举报
回复
microsoft windows internals这本书有讲为什么,lz有兴趣可以看看,具体内容我不记得了,对不起
三中土豆
2006-10-05
打赏
举报
回复
父进程终止了,子进程就自然终止了,只是这样极有可能会存在内存泄露!
有关FrameWork相关面试题
参考学习视频:framwork面试集合,大厂老司机带你扫清framework难点 目录一、有关zygote相关知识点二、有关PMS相关知识点1.PMS服务是干什么?PMS跟咱们的安装速度和启动速度有关系吗?2.为什么需要PMS3.PMS被谁启动的,它是
一个
单独进程运行吗?如果不是,又是在哪个进程呢?4.PMS扫描是为了什么,为什么PMS需要这样设计呢?三、有关AMS相关知识点1.AMS与PMS之间的关系是什么,他们在同
一个
进程吗?2.系统是如何存AMS服务对象的,以及应用层如何拿到AMS应用的?3.AMS与
网上收集的一些程序员笑话
1.老婆给当程序员的老公打电话:下班顺路买十个包子,如果看到卖西瓜的,买
一个
。当晚老公手捧
一个
包子进了家门…老婆怒道:你怎么只买
一个
包子?!老公甚恐,喃喃道:因为我真看到卖西瓜的了。” 2.一程序员去面试,面试官
问
:“你毕业才两年,这三年工作经验是怎么来的?!”程序员答:“加班。” 3.宝宝数学很好,2岁就可以从1数到10了。后来,我告诉他0比1还小
什么是VPX技术?
北京太速科技有限公司 自主研发VPX板卡http://www.orihard.com/欢迎关注 新型VPX(VITA 46)标准是自从VME引入后的25年来,对于VME总线架构的最重大也是最重要的改进。它将增加背板带宽,集成更多的I/O,扩展了格式布局。 目前,VME64x已经不能满足国防和航空领域越来越高的性能要求和更为恶劣环境下的应用。许多应用,例如雷达,...
操作系统进程调度
进程调度 CPU调度是操作系统的基本功能。每当CPU空闲的时候,操作系统就会从就绪队列中选择
一个
程序来执行。进程选择由短期调度程序执行。 CPU调度决策一般发生在如下四种情形。 当
一个
进程从运行状态切换到等待状态。 当
一个
进程终止。 当
一个
进程从运行状态切换到就绪状态。 当
一个
进程从等待状态切换到就绪状态。 1,2两种情形下,操作系统必须选择
一个
新的进程去执行。当调度只出现1,2两种情...
Linux系统中彻底隐藏你的进程(隐藏后如何恢复显示?)
在前文中,我展示了
一个
超级简单的rootkit辅助工具: https://blog.csdn.net/dog250/article/details/105292504 在这篇文章中,一旦进程被隐藏了,很难恢复。言外之意就是,这是最底层的隐藏,而不是靠hook那些procfs接口之类的方式。 我们已经把进程从链表中摘除,那么该进程便无法被遍历到,如何恢复它呢?换句话说,我自己给自己出了个
难题
,如果我...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章