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

本文实例讲述了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-10-14 16:34:59

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

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

需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理. 引用的类 using System.Diagnostics;//引入Process 类 声明 private Process[] MyProcesses; 主要处理部分,该段代码可放在定时器中循环检测监控的程序是否启动 MyProcesses = Process.GetProcessesByName("SajetManager");//需要监控的程序名,该方法带出该程序所有用到的进程 fo

根据 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

实现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

Jmeter--插件监控被测系统资源方法

一.插件准备 1.插件下载地址 http://jmeter-plugins.org/downloads/all/ 以下有两个版本的,1.1.2和1.1.3,注意Jmeter版本 1.1.2支持Jmeter2.8以下版本 1.1.3支持Jmeter2.11 2.插件说明  JMeterPlugins-Extras-1.1.2.zip JMeterPlugins-Standard-1.1.2.zip 这个两个包,我们只需要其中的jar包  JMeterPlugins-Extras.jar JMete

Autodesk 2014 系列软件通用注册机使用方法:

Autodesk 2014 系列软件通用注册机使用方法:1.首先安装Autodesk 2014 系列软件(比如AutoCAD.3Ds MAX等等):2.安装中输入对应的产品序列号.密匙(这个我在相应软件下载页面都会给出):3.安装完成后,在开始菜单中选择简体中文版的快捷方式(桌面的快捷方式默认英文):4.点击激活,勾选同意协议(假如提示序列号是错误的,可点击关闭或上一步等一段时间再点击激活即可):5.在激活界面中选择“我拥有一个Autodesk激活码”:6.启动对应32位或64位的注册机 (Wi

阅读一些关于软件开发本质和开发方法的文章的体会与心得

在本次软件工程课程当中,我已经经历了一次比较成功的个人项目,一次比较失败的结对编程项目,以及即将开始的团队项目alpha阶段.在这段时间,应教师的要求,我开始阅读一些有关软件开发本质和开发方法的文章,在此记录一些体会与心得. 文章一: No Silver Bullet: Essence and Accidents of Software Engineering by Frederick P. Brooks, Jr. 文章网址: http://www.cs.umd.edu/class/spring

cacti监控找到网卡的方法  

功夫不负有心人,终于各种测试,找到了昨晚试验没出现的网卡:方法如下:前面的所有步骤和铭哥论坛帖子一样.web里面的配置也一样.后面找到的配置不需要修改:(按照配置修改后会提示snmp error错误)只需要在客户机(你要监控的机器)修改配置文件:[[email protected] ~]# vi /etc/snmp/snmpd.conf view    systemview    included   .1.3.6.1.2.1.1修改为:view    systemview    include

编译安装 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