C# WaitForExit有时(随机)不会';行不通
代码(仅部分)大部分时间都正常工作,但有时它只是挂在那里,而且try…catch块之后的行似乎不会被调用,即使任务管理器中的进程不再存在 因为大多数时候它都没有问题,我无法在调试时重现这个问题。有谁能给我一个提示,为什么会发生这种情况,或者在什么情况下会发生这种情况C# WaitForExit有时(随机)不会';行不通,c#,waitforexit,C#,Waitforexit,代码(仅部分)大部分时间都正常工作,但有时它只是挂在那里,而且try…catch块之后的行似乎不会被调用,即使任务管理器中的进程不再存在 因为大多数时候它都没有问题,我无法在调试时重现这个问题。有谁能给我一个提示,为什么会发生这种情况,或者在什么情况下会发生这种情况 try { process.Start(); process.BeginOutputReadLine(); process.BeginErrorReadLine(); process.WaitForE
try {
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit(settings.PlinkConnectTimeout * 1000);
if (process != null && !process.HasExited) {
if (IsConnected) {
process.WaitForExit();
}
else {
process.Kill();
}
}
}
catch { }
IsConnected = false;
IsConnecting = false;
Disconnected(isLastSuccess, isReconnect);
你怎么知道try-catch-block之后的线路没有被调用?我不能保证。但是,如果调用了它们,则应该触发一些UI更改。的可能副本的可能副本似乎不是同一个问题,因为我使用的是BeginOutputReadLine和BeginErrorReadLine。