You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确使用Process.StartTime运行进程并测量其运行时长

如何正确使用Process.StartTime运行进程并测量其运行时长

嘿,要是你想启动一个外部进程,还得精准算出它的运行时长,估计一开始会写出这样的代码:

var process = Process.Start("test.exe");
process.WaitForExit();
var executionTime = process.ExitTime - process.StartTime;
Console.WriteLine($"Execution time: {executionTime.TotalMilliseconds} ms");

看起来是不是简单又直观?但这里其实藏着个容易踩的坑!你可别小瞧了Process.StartTime和ExitTime这俩属性——它们可不是任何时候都能随便调用的。比如如果进程启动失败(返回的process对象是null),或者进程还没完全启动就去访问StartTime,甚至有时候进程退出后相关资源已经被释放,这时候去获取这两个属性都会直接抛出InvalidOperationException异常,搞不好你的程序就直接崩了。

所以稳妥的做法是先做个判断:首先确认Process.Start确实返回了有效的进程对象,然后在调用WaitForExit()之后,再安全地去计算时间差,最好还能给这段逻辑加个try-catch块,把可能出现的异常给捕获处理掉,这样程序的鲁棒性就上来啦。

备注:内容来源于stack exchange,提问作者Serg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:04:38