批处理-进程 服务 自动监视功能
2009-12-08 19:40
288 查看
如果你经常设计一些接口、运行程序以及服务的话,可能会遇到运行程序异常退出了,或者被人不小心关闭了或者服务器重启后没有运行,等等一些运行中被意外中断的事情。这种事情对我来说,很头疼,经常发生接口程序被莫名的关闭了,结果发现的时候数据已经缺少很多天的数据了。为了能比较有效的监控服务程序的运行并及时处理,现较简单的通过批处理设计了一个对windows程序进行监控的后台程序,现将设计介绍如下:
首先说明此程序为通过编写配置文件,程序自动根据配置进行监控。
1、复制以下代码保存为promonitor.bat
@echo off
echo 1>nul 2>nul
title 进程监控
setlocal enabledelayedexpansion
set /a index=1
:begin
FOR /F "eol=* tokens=1,2,3,* delims= " %%i in (c:/promonitor/promonitor.ini) do call :__monitor %%i %%j %%k %%l
del c:/tczc.txt /f
ping 127.0.0.1 -n 10>nul
goto begin
endlocal
exit
:__monitor
echo @@czcczcczczczczczczczczczczczczczczczc@@>c:/tczc.txt
tasklist /fi "imagename eq %1">>c:/tczc.txt
echo @@czcczcczczczczczczczczczczczczczczczc@@>>c:/tczc.txt
set /a flag=0
FOR /F "tokens=1,* delims= " %%i in (c:/tczc.txt) do ( if "%%i" == "%1" set /a flag=1 )
if "%flag%" =="0" if "%4"=="0" cd /d %3 & start %2 & call :__wlog %1
if "%flag%" =="0" if "%4"=="1" cd /d %3 & net start %2 & call :__wlog %1
goto eof
:__wlog
set wdate=%date% %time%
echo [!index!]!wdate! 监测到%1未启动,重新启动成功>>c:/promonitor/prolog.txt
echo [!index!]!wdate! 监测到%1未启动,重新启动成功
set /a index=!index!+1
:eof
2、配置文件
格式如下所示:
********************************************************************************************************
*进程名称 *启动程序名或服务名 *启动路径 * 运行方式 应用程序:0,服务程序:1 *
********************************************************************************************************
notepad.exe notepad.exe . 0
pmunit.exe PMUintService . 1
说明:进程名称:即程序启动后任务管理器中存在的进程名。
启动程序名或服务名:即在cmd命令中启动程序的命令。
启动路径:程序赖以运行的路径。
运行方式:一般的界面或后台进程程序为应用程序 值为0;如果为服务程序则为1。
首先说明此程序为通过编写配置文件,程序自动根据配置进行监控。
1、复制以下代码保存为promonitor.bat
@echo off
echo 1>nul 2>nul
title 进程监控
setlocal enabledelayedexpansion
set /a index=1
:begin
FOR /F "eol=* tokens=1,2,3,* delims= " %%i in (c:/promonitor/promonitor.ini) do call :__monitor %%i %%j %%k %%l
del c:/tczc.txt /f
ping 127.0.0.1 -n 10>nul
goto begin
endlocal
exit
:__monitor
echo @@czcczcczczczczczczczczczczczczczczczc@@>c:/tczc.txt
tasklist /fi "imagename eq %1">>c:/tczc.txt
echo @@czcczcczczczczczczczczczczczczczczczc@@>>c:/tczc.txt
set /a flag=0
FOR /F "tokens=1,* delims= " %%i in (c:/tczc.txt) do ( if "%%i" == "%1" set /a flag=1 )
if "%flag%" =="0" if "%4"=="0" cd /d %3 & start %2 & call :__wlog %1
if "%flag%" =="0" if "%4"=="1" cd /d %3 & net start %2 & call :__wlog %1
goto eof
:__wlog
set wdate=%date% %time%
echo [!index!]!wdate! 监测到%1未启动,重新启动成功>>c:/promonitor/prolog.txt
echo [!index!]!wdate! 监测到%1未启动,重新启动成功
set /a index=!index!+1
:eof
2、配置文件
格式如下所示:
********************************************************************************************************
*进程名称 *启动程序名或服务名 *启动路径 * 运行方式 应用程序:0,服务程序:1 *
********************************************************************************************************
notepad.exe notepad.exe . 0
pmunit.exe PMUintService . 1
说明:进程名称:即程序启动后任务管理器中存在的进程名。
启动程序名或服务名:即在cmd命令中启动程序的命令。
启动路径:程序赖以运行的路径。
运行方式:一般的界面或后台进程程序为应用程序 值为0;如果为服务程序则为1。
相关文章推荐
- 批处理启动服务进程后自身自动退出
- Android5.1.1源码 - App服务进程被杀后自动重启的原因
- 利用Flash Builder 4.5的数据服务功能,从Asp.net的WebService,自动生成调用代码
- LINUX系统服务器上搭建DHCP服务,实现两大基本功能:1,自动分配ip;2,手工指定ip
- Web服务启动时自动加载Servlet,并执行service处理
- bash应用实例--交互式进程(如telnet)的自动处理脚本
- asp.net服务组件-自动事务处理
- 批处理 自动关闭、启动进程
- shell实现web服务进程监控并自动重启
- 利用勾子监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理
- Shell脚本之监视主进程的运行状态,异常退出后自动重启
- Windows server 2012 新功能试用---- powershell 3.0 进程和服务的操作 推荐
- 应用程序池“*******”将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误
- linux下监视进程 崩溃挂掉后自动重启的shell脚本
- 为应用程序池“#”提供服务的进程意外终止,进程ID是... IIS程序池自动停止
- 为Spring远程服务增加自动发现和群集功能
- PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询一:开启事务
- ServiceDesk Plus 服务管理自动指派工单功能
- Linux下tomcat进程运行监视并自动重启的脚本