C# 杀掉系统中的进程

Posted swjian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 杀掉系统中的进程相关的知识,希望对你有一定的参考价值。

  杀掉系统进程之前首先要知道进程名称(说了句废话),这里要注意在任务管理器中的进程名称不一定是真实的名称。打个比方,我们开启一个"记事本",任务管理器中进程名称为"记事本",但是实际名为"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");

 

以上是关于C# 杀掉系统中的进程的主要内容,如果未能解决你的问题,请参考以下文章

如何查找和杀掉Linux中的僵尸进程?

如何找到并杀掉 Linux 系统中的僵尸进程

怎么样结束关闭linux/ubuntu系统中的进程

如何杀掉(kill)Oracle中的会话(Session)

如何杀掉Oracle中的会话

如何理解Linux中的OOM机制