可能是这个问题的反面:Process.HasExited returns true even though process is running?

我在一个进程上调用了Kill(),它似乎已经退出了。但是当我测试HasExited时,我得到了错误:

myProcess.Kill();

while ( !myProcess.HasExited )
{
    Thread.Sleep(1000);
}

并且这将无限期地继续下去。当然,我必须更改此代码以最终停止等待,但是我很好奇为什么当进程似乎已脱离 map 时,为什么HasExited仍然返回false。

最佳答案

您是否要重定向标准输出? MSDN声明以下内容:



无论如何,建议的解决方法应该可以解决问题:

myProcess.Kill();
myProcess.WaitForExit();

关于c# - C#:即使该进程已终止,Process.HasExited返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2779653/

10-09 01:16