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");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM