惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
The GitHub Blog
The GitHub Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
量子位
Martin Fowler
Martin Fowler
月光博客
月光博客
P
Proofpoint News Feed
博客园_首页
Y
Y Combinator Blog
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
H
Help Net Security
U
Unit 42
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 小熊吉米

国密 SM2 / SM3 / SM4 静态帮助类 Windows10禁用资源管理器文件夹自动视图转换 Avalonia跨平台智能提问ChatAI C#使用WhisperNet实现语音识别功能 WPF日历控件 百度网盘搜索工具_2022 Vue+ElementUI: 手把手教你做一个audio组件 VSCode最佳设置 【C#】工具类-FTP操作封装类FTPHelper C# 调用APlayer教程 百度网盘搜索工具_2019 网盘搜索网站 在线服务 在线转换服务 Windows下安装NTP服务器 FFmpeg命令详解 C#远程桌面连接工具 Win10远程桌面出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法 LINQ的左连接、右连接、内连接 MongoDB的下载、安装与部署方法
进程守护工具
小熊吉米 · 2020-04-09 · via 博客园 - 小熊吉米

进程守护工具

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