日期:2014-05-17 浏览次数:20800 次
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