进程监控

[复制链接]
查看11 | 回复5 | 2011-1-27 22:06:05 | 显示全部楼层 |阅读模式
我电脑有一个自己写的exe,当用户登录程序就运行的(用注册表启动),然后就一直进驻在内存中(所以是以程序身份,不是以服务的身份),不过不知道什么原因,时间长了这个exe就会关闭,而目前我又找不到原因,我希望能找到一个工具可以监控这个exe,当这个exe死掉之后,就把它再次启动起来,最好有带log的。请问大家有什么好介绍。
最少要有以下2个功能之一:1.能发现进程死掉后启动。2.能记录关于进程死掉的日志。
PS:程序互锁是病毒行为,很容易给杀毒软件判断成病毒的。

回复

使用道具 举报

千问 | 2011-1-27 22:06:05 | 显示全部楼层
服了,这问题很简单!在前台程序放一个窗口,在windows系统中,一个程序死掉后程序窗口名就会变成“窗口名”+“(未响应)” (举个例子,任务管理器死了就变成“任务管理器(未响应)”)。根据这个原理,在前台放一个窗口,然后用FindWindow函数(你会编程的,API函数),来监视这个窗口不就行了吗,在检测到未响应后调用一个Shell AppName(VB6)就行了。至于记录日志的为题就比较难做到了,你可以Shell调试器(例如VisualStudioDebugger)
回复

使用道具 举报

千问 | 2011-1-27 22:06:05 | 显示全部楼层
不懂什么叫做百度吗?大体上就是这个思路咯,监控存在不存在到简单,只要用个循环,然后每隔几秒钟监控一下进程,然后如果存在你的程序就继续监控,不存在就发出警告
回复

使用道具 举报

千问 | 2011-1-27 22:06:05 | 显示全部楼层
你试试加个互锁进程两个进程互相监控,发现另一个死掉就重新加载
回复

使用道具 举报

千问 | 2011-1-27 22:06:05 | 显示全部楼层
或者你这段代码本身有问题吧。先检查内部代码先。
回复

使用道具 举报

千问 | 2011-1-27 22:06:05 | 显示全部楼层
程序冲突吧仔细观察代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行