我用Process.Kill()
殺死一個進程。就像這樣:如何在沒有得到「進程已退出」異常的情況下終止進程?
if(!process.WaitForExit(5000)) {
process.Kill();
}
,有時過程將退出權在字裏行間,所以控制會得到內部if
然後Kill
將產生一個異常:
System.InvalidOperationException
Cannot process request because the process (ProcessIdHere) has exited.
at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
at System.Diagnostics.Process.Kill()
//my code here
現在包裝的代碼到試戴趕上似乎不是一個好主意,因爲InvalidOperationException
可以因其他原因而被調用。
在描述的場景中沒有得到異常的情況下是否有辦法殺死進程?
你有沒有試過檢查內部異常?可能會給你確切的例外處理。 – Yahya
@Yahya:Yeap,內部異常在任何時候都是空的。 – sharptooth