利用Windows的命令行工具tasklist和findstr,start结合计划任务实现一种进程监控的方案

Windows虽然是以UI来见长的。但是,真正的POWERFUL工具,还是命令行的。

今天,介绍一种利用Windows命令行工具 tasklist 和 findstr, start 来实现监控某个进程是否正常工作的方案。

tasklist :列出系统当前执行的所有进程;

findtr   :利用正则表达式的方式,在字符串或文本文件中搜索指定的内容;

start    :用某些参数限定的模式启动一个目标

同时,还要用到命令行里的 通道 | ,这个可是个supper channel。

方案如下:

假设有一个服务进程, 叫botserver,此服务允许短暂的不可用,假设 5 分钟;

这个botserver在发生异常时,将自动退出;

为了保证这个进程能持续的提供服务,我们建立一个 BAT 批处理文件,将其加入到系统的 计划任务 中,设定执行周期为3分钟;

在BAT文件中,写入如下的内容:

tasklist | findstr /i botserver.exe

IF ERRORLEVEL 1 start /b botserver.exe

 

tasklist | findstr /i botserver.exe 是在系统进程列表中,查找 botserver.exe

IF ERRORLEVEL 1 start /b botserver.exe 如果上面的查找没有匹配,则启动 botserver.exe

posted @ 2010-01-09 17:43  三角猫  阅读(1803)  评论(0编辑  收藏  举报