進程守護工具

進程守護工具

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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章