C# WaitForExit有时(随机)不会';行不通

C# WaitForExit有时(随机)不会';行不通,c#,waitforexit,C#,Waitforexit,代码(仅部分)大部分时间都正常工作,但有时它只是挂在那里,而且try…catch块之后的行似乎不会被调用,即使任务管理器中的进程不再存在 因为大多数时候它都没有问题,我无法在调试时重现这个问题。有谁能给我一个提示,为什么会发生这种情况,或者在什么情况下会发生这种情况 try { process.Start(); process.BeginOutputReadLine(); process.BeginErrorReadLine(); process.WaitForE

代码(仅部分)大部分时间都正常工作,但有时它只是挂在那里,而且try…catch块之后的行似乎不会被调用,即使任务管理器中的进程不再存在

因为大多数时候它都没有问题,我无法在调试时重现这个问题。有谁能给我一个提示,为什么会发生这种情况,或者在什么情况下会发生这种情况

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。