进程监控程序的开发(程序运行监控)
2015-09-23 00:37
260 查看
很多应用程序是需要7*24小时运行的,不知道那个家伙不小心就把你要定时执行的程序关闭了,而且你是运行在右下角任务栏的,不注意根本就不知道被关闭。我有过这样的经历,写了一个hqms接口程序,就是要定时推送病案数据的,在测试阶段,数据要连续上传十天才可以获取正式环境的账号,有同事竟然关了我的程序,并且没有重启,害我迟了几天获取正式账号。
我的监控进程的程序很简单,就是启动程序的时候,只在任务管理器中的进程列表中看到程序,不在任务栏上显示,代码如下:
使用定时器,及时查看要监控的程序,如下代码所示:
监控的进程要写在配置文件里面,如下所示:
在启动监控程序的时候,就读出要监控的进程,然后定时器会定时读取进程的执行情况,如果出现两个的时候就会自动关闭一个,假如没有开启的时候,就启动,如下所示:
请查看具体源代码
http://download.csdn.net/detail/panliuwen/9131799
我的监控进程的程序很简单,就是启动程序的时候,只在任务管理器中的进程列表中看到程序,不在任务栏上显示,代码如下:
this.WindowState = FormWindowState.Normal; this.WindowState = FormWindowState.Minimized; this.ShowInTaskbar = false;
使用定时器,及时查看要监控的程序,如下代码所示:
private bool isRunning = false; private void timer1_Tick(object sender, EventArgs e) { if (isRunning) return; isRunning = true; Process[] ps = Process.GetProcessesByName(executeName); if (ps.Length > 1) { int count = ps.Length; foreach (Process p in ps) { count--; p.Kill(); if (count == 1) break; } } else if (ps.Length == 0) { Process.Start(executeName + ".exe"); WriteLogs("启动" + executeName + ".exe"); } isRunning = false; }
监控的进程要写在配置文件里面,如下所示:
<?xml version="1.0" encoding="GB2312"?> <Items> <ExecuteName>HqmsJob</ExecuteName> </Items>
在启动监控程序的时候,就读出要监控的进程,然后定时器会定时读取进程的执行情况,如果出现两个的时候就会自动关闭一个,假如没有开启的时候,就启动,如下所示:
Process.Start(executeName + ".exe");
请查看具体源代码
http://download.csdn.net/detail/panliuwen/9131799
相关文章推荐
- 操作系统页面置换算法(opt,lru,fifo,clock)实现
- Linux下如何进行FTP设置
- 总结@property参数
- 【运维】pssh简介
- freopen后重新控制台读入
- Linux命令备忘实例(13)——文件操作
- Linux中使用expect脚本实现远程机器自动登录
- 通过修改配置真正解决php文件上传大小限制问题(nginx+php)
- 网站关键词优5化--了解网站关键词
- linux centos6 上安装nginx
- 谁能帮忙实现一个opengl程序,实在没头绪
- hadoop discp 不同版本间拷贝数据
- 从Linux终端编译运行Eclipse Java项目
- Opencv中HSV通道的图像的颜色判定
- eclipse启动tomcat无法访问
- 虚拟机Ubuntu下怎样访问Win7资源
- linux普通用户权限设置为超级用户权限方法、sudo不用登陆密码
- 如何在Fedora 22上面配置Apache的Docker容器
- ubuntu 环境下编译 hadoop 2.6.0的简单方法
- Linux系统资源使用情况