1. 即使进程已终止,Process.HasExited返回false的原因?
操作系统还残留进程的缓存,可以在访问前使用Process.Refresh()解决
2. 即使进程在运行,Process.HasExited返回true的原因?
进程工作已完成,但重定向标准输入输出错误流的异步事件依旧未完成,可以在访问前使用无参的WaitForExit()解决
3.参考文章
即使进程已终止,Process.HasExited返回false
即使进程在运行,Process.HasExited返回true
当进程已终止但Process.HasExited返回false时,可能是由于操作系统仍保留进程缓存,使用Process.Refresh()可刷新状态。而进程运行中HasExited返回true可能是因为标准输入输出错误流的异步事件未完成,WaitForExit()可以帮助等待进程完全退出。
1096

被折叠的 条评论
为什么被折叠?



