欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

进程守护工具

程序员文章站 2024-01-05 14:36:10
进程守护工具 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;
            }
        }

4.程序界面

进程守护工具

5.功能

1、设置程序监测列表。
2、支持同一个程序不同运行路径的监测。
3、界面日志和文件日志。

下载地址:https://pan.baidu.com/s/1y1aprjcloddkssxsvoqfcq 提取码:gder