2010-03-16 21 views
4

如果在我的C#應用​​程序中,我正在創建一個可以正常終止或開始行爲不當的子進程,在這種情況下,我會通過調用Process.Kill()但是,我想知道該進程是否正常退出。我知道我可以得到已終止進程的錯誤代碼,但是什麼是正常退出代碼,以及表示進程已被終止?以Process.Kill()結尾的進程的退出代碼,使用C#

回答

7

Process.Kill()中的源代碼顯示將退出代碼設置爲-1(截至2012年9月)。 Windows操作系統實際上使用32位無符號值作爲退出代碼,但我相信C#中signed-> unsigned-> signed翻譯應該可以工作(我只需要檢查零或非零,因此對於我的代碼)。

另一方面,這顯然是無證的行爲(爲什麼?),所以微軟可以明天改變它,並通過將退出碼設置爲0來破壞我的代碼。