2010-12-07 16 views
5

En tener 2 procesos, uno principal y otro secundario. El proceso principal controla el ciclo de vida del proceso secundario, es decir, el proceso primario inicia el proceso secundario cuando necesita que el niño haga algo de trabajo y también mata al niño cuando termina con él. Para matar el proceso secundario, el proceso principal utiliza las API Process.Kill() y process.WaitForExit().Código de salida de un proceso terminado con Process.Kill() en C#

Preguntas: -

  1. que estoy observando que el código de salida del proceso hijo es siempre -1. ¿Quién está configurando este código de salida?

  2. ¿Cómo puedo cambiar este código de salida?

+0

Dup de http://stackoverflow.com/questions/2455232/exit-code-of-a-process-terminated-with-process-kill-in-c-sharp –

Respuesta

4
  1. Process.Kill
  2. No. A menos que PInvoke TerminateProcess() a ti mismo, el argumento uExitCode.

Echa un vistazo a Reflector, este tipo de cosas es fácil de encontrar con él.

0

El código de salida del proceso probablemente está siendo configurado por Win32. No puedes cambiarlo Si desea cambiar el código de salida, no use Process.Kill como su mecanismo de IPC. Establezca un evento o use otras primitivas IPC en su lugar.

Cuestiones relacionadas