殺掉系統進程之前首先要知道進程名稱(說了句廢話),這里要注意在任務管理器中的進程名稱不一定是真實的名稱。打個比方,我們開啟一個"記事本",任務管理器中進程名稱為"記事本",但是實際名為"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");