【发布时间】:2009-05-14 19:19:58
【问题描述】:
有没有办法获得反映一个进程的 Process.TotalProcessorTimePLUS它产生的任何进程?
另外,我如何验证进程(或其后代)是否仍在“积极”运行?
我的应用正在生成一个外部进程并等待它退出。使用样本数据需要 5-20 分钟 才能完成;我没有猜测合理的最大超时时间。所以我的应用会每隔一段时间检查另一个进程的 Process.TotalProcessorTime 值,以确保它不断上升。
这很好用,但我发现该进程只是一个“包装器”,它会产生一个子进程,而子进程又会产生一些消耗所有 CPU 时间的其他子进程。
我发现 TotalProcessorTime 在 CPU 利用率达到 100% 的几分钟后只返回一小部分秒。
【问题讨论】:
标签: c# windows process worker-processes