需求
根据运行环境要求,我们所做的程序常常会在无人监管的情况下运行几个月之久。所以为了保证程序的正常运行,决定添加一个附属的监控程序。监控程序要求如下:
- 当检测到主程序未启动时,启动主程序。
- 当检测到主程序进程无响应,且超过一定时间后,重启主程序。
- 主程序启动时,会检测监控程序状态,若监控程序未启动,则启动监控程序。
4基于以上要求,
设计思路
基于以上要求,我编写了基于.NET的监管程序。
- 首先,创建Windows窗体应用程序,在其Load事件中,写入
this.Hide();//隐藏窗体
this.ShowInTaskBar = false;//使监控程序不在任务栏出现
- 使用定时器,
- tmr = new System.Threading.Timer(new TimerCallback(Call), null, 0, 5000);
实现
以下是完整代码
public class MonitorAndRestart
{
//string path = AppDomain.CurrentDomain.BaseDirectory+ "QQ.exe";
//要启动程序的路径,以qq为例,可将其设置为
string path