我正在构建一个 C# 程序来解压缩一个文件,然后处理这个文件。
有时我会收到这样的消息:“进程无法访问文件 c:.... 因为它正被另一个进程使用”
我能做什么?如何杀死它?
最佳答案
您必须找出正在访问该文件的程序。您是否忘记退出自己的某个应用程序,或者是否有任何其他应用程序正在访问该文件?
您可以编写 C# 代码来终止进程,但更好的方法是找出它已被另一个进程使用的原因。
在 C# 中终止所有名为 nameOfProcess 的进程:
Process[] ps = Process.GetProcessesByName("nameOfProcess");
foreach (Process p in ps)
p.Kill();
此外,正如@Darin 指出的那样,您可以查看其他 SO 线程:How do I find out which process is locking a file using .NET?
@Darin 在评论中提到的 sysinternals 工具位于 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx。
关于c# - 如何杀死一个C#进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642231/