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