c# - 如何杀死一个C#进程?

标签 c#

我正在构建一个 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/

相关文章:

c# - 为什么 "\u1FFF:foo".StartsWith (":") 返回 true?

c# - 使用相同的 SQL 生成输出将 T-SQL 转换为 Fluent Linq C#

c# - 如何在嵌入式浏览器中实现隔离 session 或多登录支持

c# - String Writer 写入文本文件

c# - 有条件地限制属性(property)访问

c# - 有什么方法可以创建一个可能具有不同调用和返回参数对象的方法吗?

c# - 共享点 : How can I programmatically add items to a custom list instance

c# - 在 "Real World"中使用 Reactive Extensions

c# - 仅在 XAML 中将装饰器放置在数据模板上?

c# - 此代码的 VB.NET 等价物