【发布时间】:2010-12-07 18:54:47
【问题描述】:
有两个进程,一个父进程和一个子进程。父进程控制子进程的生命周期,即父进程在需要子进程做一些工作时启动子进程,并且在完成后杀死子进程。要终止子进程,父进程使用 Process.Kill() 和 process.WaitForExit() API。
问题:-
我观察到子进程的退出代码总是-1。谁在设置此退出代码?
如何更改此退出代码?
【问题讨论】:
有两个进程,一个父进程和一个子进程。父进程控制子进程的生命周期,即父进程在需要子进程做一些工作时启动子进程,并且在完成后杀死子进程。要终止子进程,父进程使用 Process.Kill() 和 process.WaitForExit() API。
问题:-
我观察到子进程的退出代码总是-1。谁在设置此退出代码?
如何更改此退出代码?
【问题讨论】:
看看Reflector,这种东西很容易找到。
【讨论】:
进程退出代码可能是由 Win32 设置的。你不能改变它。如果您想更改退出代码,请不要使用 Process.Kill 作为您的 IPC 机制。设置一个事件或使用其他 IPC 原语。
【讨论】: