Pregunta

Si en mi aplicación C #, estoy creando un proceso hijo que puede decidir la resolución normalmente o empezar a comportarse erráticamente, en cuyo caso terminarlo con una llamada a Process.Kill (). Sin embargo, me gustaría saber si el proceso ha salido normally.I saben que puedo conseguir el código de error de un proceso terminado, pero lo que sería un código de salida normal y lo que indicaría que el proceso se mató?

¿Fue útil?

Solución

Puede utilizar la propiedad ExitCode pero desafortunadamente esto depende de cómo se construye la aplicación. Así que si usted tiene el código fuente de la aplicación asegurarse de que devuelve correctamente en una buena salida. Por favor, vea este enlace a MSDN que describe esto más en detalle: http://msdn.microsoft.com/en- es / library / system.diagnostics.process.exitcode.aspx

Otros consejos

El código fuente para Process.Kill () en programas de ajuste el código de salida a -1 (a partir de septiembre de 2012). El sistema operativo Windows utiliza realmente valores sin signo de 32 bits para los códigos de salida pero creo que el con signo> unsigned-> traducciones firmados en C # deben trabajar (sólo necesito para comprobar si hay cero o distinto de cero por lo que no importa para mi código).

Por otro lado, esto es, obviamente, el comportamiento no documentado (por que?) Por lo que Microsoft podría cambiar mañana y romper mi código estableciendo el código de salida de 0.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top