C# 杀掉系统中的进程

拈花ヽ惹草 提交于 2019-11-28 10:03:01

  杀掉系统进程之前首先要知道进程名称(说了句废话),这里要注意在任务管理器中的进程名称不一定是真实的名称。打个比方,我们开启一个"记事本",任务管理器中进程名称为"记事本",但是实际名为"notepad"。如果不知道在哪里看,可以点开任务管理器中的进程右击属性查看,一般都是xxx.exe形式。

  接下来我们开始写代码,可以循环取到系统中所有正在运行的进程,然后根据name和id匹配将要删除的进程,值得注意的是:开启多个"记事本"进程,name是一致的,如果根据name杀进程,那么都会被关闭掉。id是唯一的,但是每次启动"记事本"id会被随机分配。

引用:

using System.Diagnostics;

代码:

/// <summary>
/// 杀掉FoxitReader进程
/// </summary>
/// <param name="strProcessesByName"></param>
public static void KillProcess(string processName) 
{ 
    foreach (Process p in Process.GetProcesses())            
    {
        if (p.ProcessName.Contains(processName))
        {
            try
            {
                p.Kill();
                p.WaitForExit(); // possibly with a timeout
                Console.WriteLine($"已杀掉{processName}进程!!!");
            }
            catch (Win32Exception e)
            { 
                Console.WriteLine(e.Message.ToString());    
            }
            catch (InvalidOperationException e)
            { 
                Console.WriteLine(e.Message.ToString()); 
            }
        }
        
    }
}

调用:

KillProcess("notepad");

 

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