進程守護工具 1.寫在前面 經常寫一些服務程式,有時要監測服務程式的運行狀態,所以就做了一個進程守護工具。 2.分析 通過Process.GetProcessesByName(ProcessName),獲得指定進程列表。 用Process.MainModule.FileName來判斷程式是否運行。 ...
進程守護工具
1.寫在前面
經常寫一些服務程式,有時要監測服務程式的運行狀態,所以就做了一個進程守護工具。
2.分析
通過Process.GetProcessesByName(ProcessName),獲得指定進程列表。
用Process.MainModule.FileName來判斷程式是否運行。
3.程式實現
下麵將貼出實現該程式的主要代碼。
/// <summary> /// 判斷進程是否正在運行,可通過程式全路徑 /// </summary> /// <param name="ProcessName">進程名稱</param> /// <param name="FileName">進程全路徑</param> public static bool GetProcess(string ProcessName, string FileName = null) { Process[] ps = Process.GetProcessesByName(ProcessName); foreach (Process p in ps) { if (string.IsNullOrEmpty(FileName))//無值 { return true; } else//指定 { if (string.Equals(p.MainModule.FileName, FileName, StringComparison.CurrentCultureIgnoreCase)) { return true; } } } return false; } /// <summary> /// 啟動程式 /// </summary> /// <param name="FileName">程式路徑</param> public static bool RestartProcess(string FileName) { try { Process.Start(FileName); return true; } catch (Exception ex) { Log4Net.LogInfo(string.Format("啟動程式異常:{0}", ex.Message)); return false; } }View Code
4.程式界面
5.功能
1、設置程式監測列表。
2、支持同一個程式不同運行路徑的監測。
3、界面日誌和文件日誌。
下載地址:https://pan.baidu.com/s/1y1ApRjcLoDdKssXsVOQfCQ 提取碼:gder