Возможен обратный этим вопрос: Process.HasExited returns true even though process is running?C#: Process.HasExited возвращает ложь, даже если процесс окончился
Я назвал Kill() на процессе, и это, кажется, вышли. Но когда я тестирую HasExited, я получаю false:
myProcess.Kill();
while (!myProcess.HasExited)
{
Thread.Sleep(1000);
}
И это продолжается бесконечно. Конечно, мне нужно изменить этот код, чтобы в конечном итоге перестать ждать, но мне любопытно, почему HasExited по-прежнему возвращает false, когда процесс, похоже, упал с карты, так сказать.
Это верно, я перенаправить стандартный вывод. Я решил поместить Kill и WaitForExit (1000) в триггер повторной попытки. Я не могу позволить себе ждать всегда, как предлагает статья MSDN. – Jeremy
Я также задаюсь вопросом, означает ли это, что это возможно для завершения процесса и до сих пор его стандартные выходные потоки открыты. Или эта статья означает, что мой локальный потоковый анализатор не закрыл сообщение, несмотря на выход из него. – Jeremy