c# 杀死占用某个文件的进程

落爺英雄遲暮 提交于 2019-11-30 09:52:43

 

需要使用微软提供的工具Handle.exe

            string fileName = @"H:\abc.dll";//要检查被那个进程占用的文件

            Process tool = new Process();
            tool.StartInfo.FileName = @"H:\软件\Handle\handle64.exe";
            tool.StartInfo.Arguments = fileName + " /accepteula";
            tool.StartInfo.UseShellExecute = false;
            tool.StartInfo.RedirectStandardOutput = true;
            tool.Start();
            tool.WaitForExit();
            string outputTool = tool.StandardOutput.ReadToEnd();

            string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";
            foreach (Match match in Regex.Matches(outputTool, matchPattern))
            {
                Process.GetProcessById(int.Parse(match.Value)).Kill();
            }

            Console.ReadKey();

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!