C#软件监控外部程序运行状态

需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理。

引用的类

using System.Diagnostics;//引入Process 类 

声明

private Process[] MyProcesses;

主要处理部分,该段代码可放在定时器中循环检测监控的程序是否启动

            MyProcesses = Process.GetProcessesByName("SajetManager");//需要监控的程序名,该方法带出该程序所有用到的进程
            foreach (Process myprocess in MyProcesses)
            {
                textBox1.Text += myprocess.ProcessName + "\r\n";
                if (myprocess.ProcessName.ToLower() == "sajetmanager")
                {
                    MessageBox.Show("SajetManager");
                    myprocess.EnableRaisingEvents = true;//设置进程终止时触发的时间
                    myprocess.Exited += new EventHandler(myprocess_Exited);//发现外部程序关闭即触发方法myprocess_Exited
                }
            }
        private void myprocess_Exited(object sender, EventArgs e)//被触发的程序
        {
            MessageBox.Show("SajetManager close");
        }
时间: 2024-11-10 08:21:28

C#软件监控外部程序运行状态的相关文章

C#实现软件监控外部程序运行状态的方法

本文实例讲述了C#实现软件监控外部程序运行状态的方法.分享给大家供大家参考.具体方法如下: 需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理. using System.Diagnostics;//引入Process 类 private Process[] MyProcesses; MyProcesses = Process.GetProcessesByName("SajetManager");//需要监控的程序名,该方法带出该程序所有用到

实现Cacti监控nginx运行状态

生产环境如下: 操作系统:CentOS release 6.8 (Final) 实战任务:实现Cacti监控nginx运行状态 前期以实现Cacti对操作系统.数据库.Apache等象监,如下图: 对nginx安装编译过程省略,但要注意,编译安装nginx时,要开启此项--with-http_stub_status_module. 在/application/nginx/conf/extra/nginx_vhosts.conf,在该文件配置如下: server { listen 9090; se

编译安装 nginx的http_stub_status_module监控其运行状态

步骤: 1 编译nginx,加上参数 --with-http_stub_status_module 以我自己的编译选项为例: #配置指令 ./configure --prefix=/usr/local --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --http-client-body-temp-path=/usr/local/var/tmp/nginx/client --http-proxy

根据 inotify 自己开发软件监控文件系统活动

了解 inotify Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除.读.写和卸载操作等.您还可以跟踪活动的源头和目标等细节. 使用 inotify 很简单:创建一个文件描述符,附加一个或多个监视器(一个监视器 是一个路径和一组事件),然后使用 read() 方法从描述符获取事件信息.read() 并不会用光整个周期,它在事件发生之前是被阻塞的. 更好的是,因为 inotify 通过传统的文件描述符工作,您可以利用传统的 sel

Java 代码监控 JVM 运行状态 —— 记一次 JVM 调优的毛招

在做模型项目的时候遇到一个问题,由于模型服务装载一些大模型,大模型对象的大小在 300M 左右,而一台服务器可能装载多个大模型.在服务启动和模型更新的时候会遇到 young gc 耗时过长的问题,young gc 所采用的垃圾回收器是 ParNew.通过观察 GC 日志可以发现,模型对象一开始是存在于年轻代的,当经过 15次 gc 后,这些对象就会进入到老年代,而之后 young gc 的时间缩短到正常可以接受的时间范围 0.01s ~ 0.02s.而在模型对象尚未进入老年代时,young gc

centos7使用monit监控服务运行状态

安装: yum -y install epel-release yum -y install monit 配置:vim /etc/monitrc set daemon 30 set log syslog set httpd port 2812 and use address 172.20.10.11 allow 172.20.10.2 allow admin:monit #with ssl { # enable SSL/TLS and set path to server certificate

使用Azure Monitor监控服务运行状态

在多数的运维工作中,我们除了要关注系统资源的使用率也要关注应用服务的健康状况,从而确保系统可以持续的对外提供服务.那么我们如何使用Azure Monitor来监控服务的健康状况呢.监视Windows和Linux服务的最佳选择之一是利用Azure自动化中的变更跟踪解决方案.使用变更跟踪解决方案,可以跟踪Windows/Linux系统上的更改.在Windows它支持跟踪文件.注册表.服务和已安装软件的更改:在linux中它支持跟踪文件,软件和守护进程的更改.默认情况下,变更跟踪解决方案会每隔30分钟

centos7,监控httpd运行状态

#!/bin/bash # 获取运行状态 http=$(systemctl status httpd | grep Active | awk '{print $2}') # 判断运行状态 if [ "$http" != "active" ];then # 运行状态为失败时尝试重启并发出重启成功信息,如果运行失败发出失败警告! systemctl restart httpd && echo "httpd Restart successfull

使用shell脚本监控网站运行状态

前言:好久没有写博客了,上来把之前写的博客几乎全都清理掉了,想写的时候写上一些,蛮不错. shell监控网站/tomcat状态,依靠返回状态码来进行判断,返回200,302认为状态是正常的,否则认为tomcat/nginx/LB/Haproxy/apache挂掉了,脚本实现如下: 1. 创建一个站点文件夹,吧需要监控的地址都写到http_site文件里面 vim http_site ### Nginx site begin ### http://192.168.129.86:38020 http