進程守護工具
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; } }
4.程序界面
5.功能
1、設置程序監測列表。
2、支持同一個程序不同運行路徑的監測。
3、界面日誌和文件日誌。
下載地址:https://pan.baidu.com/s/1y1ApRjcLoDdKssXsVOQfCQ 提取碼:gder