首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >监视进程的子进程

监视进程的子进程
EN

Stack Overflow用户
提问于 2013-07-29 19:22:14
回答 3查看 29.8K关注 0票数 22

我使用以下代码运行.exe文件:

代码语言:javascript
运行
复制
Process proc = Process.Start("c:\program.exe");
proc.WaitForExit();

如果我在启动进程之前启动Stopwatch,并在proc.WaitForExit();行之后停止它,我可以获得用户使用该特定程序的时间。

我面临的问题是,一些程序(和游戏)使用启动器-一些小的.exe文件,通常检查一些东西,然后启动另一个.exe文件,这实际上是用户想要运行的程序/游戏。在这些情况下,上面的代码无法工作,因为它在launcher存在后返回。

如何跟踪proc运行的所有进程,并等待所有进程被终止?

EN

Stack Overflow用户

回答已采纳

发布于 2013-07-31 18:38:17

看看这个-- Find all child processes of my own .NET process / find out if a given process is a child of my own?或者http://social.msdn.microsoft.com/Forums/vstudio/en-US/d60f0793-cc92-48fb-b867-dd113dabcd5c/how-to-find-the-child-processes-associated-with-a-pid。它们提供了通过父PID (您已有)查找子进程的方法。

您可以编写monitor来监视您创建的进程,还可以获取它的子进程。然后,您可以跟踪所有内容,并等待它们全部完成。我之所以说“尝试”,是因为我不确定你是否能捕捉到非常迅速的变化(一个开始其他人,然后在你得到他的孩子之前死亡的过程)。

票数 6
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17922725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档