如何杀死C#进程?

我正在构建一个解压缩文件的C#程序,并处理此文件。

有时候我收到这样的消息:“进程无法访问文件c:….因为它正被另一个进程使用”

我可以做什么? 怎么杀了?

您必须找出正在访问该文件的程序。 您是否忘记退出自己的某个应用程序,或者是否有其他人访问该文件?

您可以编写C#代码来终止进程,但更好的方法是找出它已被其他进程使用的原因。

要在C#中使用名称nameOfProcess终止所有进程:

Process[] ps = Process.GetProcessesByName("nameOfProcess"); foreach (Process p in ps) p.Kill(); 

另外,正如@Darin所说,您可以看一下这个其他SO线程: 如何找出使用.NET锁定文件的进程?

@Darin在评论中提到的sysinternals工具可在http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx上找到。

Process Monitor可以工作,但Process Explorer是一个更好的应用程序。 它也来自现在由微软拥有的Sysinternals。 以管理员身份运行Process Explorer,然后单击搜索按钮。 然后,这将显示正在使用该文件的应用程序和线程。