我大约一个月前安装了 Windows 8,并且遇到了当进程挂起时我无法结束/杀死它的问题。任务管理器和 CMD Taskkill /f /PID #### 都不会完成这项工作,所以我想我会用 C# 编写自己的进程杀手,看看会出现什么问题。
在编写了一个小应用程序后,我意识到我并不像我想象的那么聪明——我仍然无法结束这个过程。起初,我能够通过名称/PID 找到进程:
Process p = Process.GetProcessById(aPid)
//or
foreach (Process p in Process.GetProcessesByName(aProcessName)
..并且当我尝试以下操作时出现“访问被拒绝”异常:
process.Kill();
..经过几次尝试改变后,我将无法再找到该过程。例如。当我试图通过名称或 PID 找到它时,没有返回任何内容,而该进程仍保留在任务管理器和我的屏幕上。
我还阅读了 Process @MSDN,它说如果进程已经终止或无法终止,则可以抛出“访问被拒绝”.. :(
帮助?真的没有办法强制结束进程吗?