在C#中以Process.Kill()终止的进程的退出代码

时间:2010-12-07 18:54:47

标签: c# .net

有2个进程,父进程和子进程。父进程控制子进程的生命周期,即父进程在需要子进程执行某些工作时启动子进程,并且当子进程完成时它也会杀死子进程。要终止子进程,父进程正在使用Process.Kill()和process.WaitForExit()API。

问题: -

  1. 我观察到子进程的退出代码始终为-1。谁设置此退出代码?

  2. 如何更改此退出代码?

2 个答案:

答案 0 :(得分:4)

  1. Process.Kill
  2. 否。除非你自己pinvoke TerminateProcess(),uExitCode参数。
  3. 看看Reflector,这种东西很容易找到它。

答案 1 :(得分:0)

进程退出代码很可能是由Win32设置的。你无法改变它。如果要更改退出代码,请不要使用Process.Kill作为IPC机制。设置事件或使用其他IPC原语。