Posiblemente la inversa de esta pregunta: Process.HasExited returns true even though process is running?C#: Process.HasExited devuelve falso a pesar de que el proceso ha terminado
me llamaron Kill() en un proceso y que parece haber salido. Pero cuando pruebo HasExited, me sale falso:
myProcess.Kill();
while (!myProcess.HasExited)
{
Thread.Sleep(1000);
}
Y esto continúa indefinidamente. De acuerdo, tengo que cambiar este código para dejar de esperar con el tiempo, pero tengo curiosidad sobre por qué HasExited aún devuelve falso cuando el proceso parece haber caído del mapa, por así decirlo.
Así es, me redirigir la salida estándar. Sin embargo, opté por poner Kill y WaitForExit (1000) en un ciclo triple de reintento. No puedo permitirme esperar para siempre, como sugiere el artículo de MSDN. – Jeremy
También me pregunto si esto significa que es posible que un proceso finalice y aún tenga abiertas sus secuencias de salida estándar. O el artículo significa que mi lector de secuencias locales no ha recibido el mensaje para cerrar a pesar de que el proceso de origen está saliendo. – Jeremy