0

代码(仅部分)大部分时间都可以正常工作,但有时它只是挂在那里,即使任务管理器中的进程不再存在,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);
4

0 回答 0