2010-03-16 23 views
4

如果在我的C#应用​​程序中,我正在创建一个可以正常终止或开始行为不当的子进程,在这种情况下,我会通过调用Process.Kill()但是,我想知道该进程是否正常退出。我知道我可以得到已终止进程的错误代码,但是什么是正常退出代码,以及表示进程已被终止?以Process.Kill()结尾的进程的退出代码,使用C#

回答

7

Process.Kill()中的源代码显示将退出代码设置为-1(截至2012年9月)。 Windows操作系统实际上使用32位无符号值作为退出代码,但我相信C#中signed-> unsigned-> signed翻译应该可以工作(我只需要检查零或非零,因此对于我的代码)。

另一方面,这显然是无证的行为(为什么?),所以微软可以明天改变它,并通过将退出码设置为0来破坏我的代码。