近期,中心应用服务无故关闭。
在检查系统和应用程序日志无果后采取了进程守护的方法。
测试期内,脚本未出现系统资源占用过多的情况。
使用说明:
1、进程守护.vbs 使用时需修改运行周期(10行)、守护进程名称(12行)和程序启动路径(22行)。
2、进程守护批处理.bat 使用时需修改守护进程名称和执行用户(3行)、程序启动路径(6行)
vbs脚本运行时会创建wscript.exe进程,该进程会根据运行周期自动执行,无状态显示。
bat脚本运行时会启用一个cmd.exe进程,该进程会根据运行周期自动执行,有状态显示。
注意事项:
vbs和bat脚本均无法监控自身所创建的进程,例如vbs无法监控wscripts.exe进程,bat则无法监控cmd.exe进程。
@echo off
echo 进程守护中……
:do
tasklist /FI "USERNAME eq set /p user= wangchen" | find /c "qq.exe" > ID.txt
set /p num= < ID.txt
del /F ID.txt
if "%num%" == "0" start /D "D:\Install\qq\" qq.exe
ping -n 10 -w 200 0.0.0.1 > ID.txt
del /F ID.txt
goto do
on error resume next
set Ws = WScript.CreateObject("WScript.Shell")
count=0
for each ps in getobject("winmgmts://./root/cimv2:win32_process").instances_
if ps.name="wscript.exe" then count=count+1
next
if count > 2 then wscript.quit
i=1
for i = 1 to 3
i=i-1
WScript.Sleep(60000*60*0.04)
set ws=wscript.createobject("wscript.shell")
strProcess = "foxmail.exe"
Proce = false
For each x in getobject("winmgmts:").instancesof("win32_process")
If ucase(x.name) = ucase(strProcess) then
Proce = True
Exit For
End If
Next
If Proce Then
else
ws.run "D:\Install\foxmail7\Foxmail.exe"
End If
next