Si dans mon application C#, je crée un processus fils qui peut se terminer normalement ou commencer à mal se comporter, auquel cas je le termine par un appel à Process.Kill(). Cependant, je voudrais savoir si le processus s'est terminé normalement.Je sais que je peux obtenir le code d'erreur d'un processus terminé, mais ce qui serait un code de sortie normal et ce qui signifierait que le processus a été tué ?Code de sortie d'un processus terminé avec Process.Kill(), en C#
Répondre
Vous pouvez utiliser la propriété ExitCode, mais cela dépend malheureusement de la manière dont l'application est créée. Donc, si vous avez le code source de l'application, assurez-vous qu'il retourne correctement sur une bonne sortie. Veuillez voir ce lien vers msdn décrivant ceci plus en détail: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode.aspx
Le code source de Process.Kill() dans montre montre le code de sortie à -1 (septembre 2012). Le système d'exploitation Windows utilise des valeurs non signées 32 bits pour les codes de sortie, mais je crois que les traductions signées> unsigned-> signées en C# devraient fonctionner (je n'ai besoin de vérifier que zéro ou non zéro mon code). D'autre part, il s'agit évidemment d'un comportement non documenté (pourquoi?), Microsoft pourrait donc le changer demain et casser mon code en mettant le code de sortie à 0.