Peut-être l'inverse de cette question: Process.HasExited returns true even though process is running?C#: Process.HasExited retourne false, même si le processus a pris fin
J'ai appelé Kill() sur un processus et il semble avoir quitté. Mais quand je teste HasExited, je reçois faux:
myProcess.Kill();
while (!myProcess.HasExited)
{
Thread.Sleep(1000);
}
Et cela continue indéfiniment. Accordé, je dois changer ce code pour arrêter d'attendre finalement, mais je suis curieux de savoir pourquoi HasExited renvoie toujours faux quand le processus semble avoir laissé tomber de la carte pour ainsi dire.
Ce qui est juste, je ne réoriente la sortie standard. J'ai opté pour mettre Kill et WaitForExit (1000) dans une boucle de réessayer trois fois cependant. Je ne peux pas me permettre d'attendre éternellement comme le suggère l'article MSDN. – Jeremy
Je me demande également si cela signifie qu'il est possible qu'un processus se termine et que ses flux de sortie standard restent ouverts. Ou l'article signifie-t-il que mon lecteur de flux local n'a pas reçu le message de fermeture malgré la sortie du processus source? – Jeremy