问一个关于子进程的难题?!

leehq 2006-10-05 11:37:28
用"CreateProcess"创建一个子进程后,能不能够在父进程终止时就自动终止子进程。
注意我说的不是在父进程终止时写代码终止子进程,也不是在子进程运行时写代码判断父进程是否终止!
...全文
284 13 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
父进程终止了,子进程就自然终止了,只是这样极有可能会存在内存泄露!

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧