求批处理监视指定进程!高手来!50分!
我的意思是:用批处理或VBS脚本实现如下功能:1,监视指定进程如发现此进程不存在则立即重新启动机器!这是一种!2。监视指定进程如发现此进程不存在则立即重新启动该程序,如果...
我的意思是:用批处理或VBS脚本 实现如下功能:
1,监视指定进程 如发现此进程不存在则立即重新启动机器!这是一种!
2。监视指定进程 如发现此进程不存在则立即重新启动该程序,如果失败则重新启动机器!
1完成就给分
2只是附带问下!
另请教运行此批处理的最佳循环时间!以减少内存的占用!
要求原创!希望大家多多帮忙! 展开
1,监视指定进程 如发现此进程不存在则立即重新启动机器!这是一种!
2。监视指定进程 如发现此进程不存在则立即重新启动该程序,如果失败则重新启动机器!
1完成就给分
2只是附带问下!
另请教运行此批处理的最佳循环时间!以减少内存的占用!
要求原创!希望大家多多帮忙! 展开
2个回答
2013-09-13
展开全部
功能一代码,以检测进程QQ.EXE为例,若存在进程则每隔10秒重新检测,当进程不存在时立即重启机子:@echo off
:a
tasklist|findstr /i /b "qq.exe">nul||goto :bping 127.1 -n 11 >nul
goto :a
:b
shutdown -s -t 0 -f 功能二代码:@echo off
REM 设置要启动的程序路径,请自行修改
set pth=C:\Program Files\Tencent\QQ2012\Bin\QQ.exe
REM 提取进程文件名
for /f "tokens=*" %%a in ("%pth%") do set prog=%%~nxa
REM 监视指定进程,如进程存在则退出
REM 若进程不存在则立即重新启动该程序,过10秒后重新检测进程,如果发现启动程序失败则重新启动机器!
:a
set /a n+=1
tasklist|findstr /i /b "qq.exe">nul&&exit
if %n% equ 1 start "" "%prog%"
if %n% equ 2 shutdown -s -t 0 -f
ping 127.1 -n 11 >Nul
goto :a
:a
tasklist|findstr /i /b "qq.exe">nul||goto :bping 127.1 -n 11 >nul
goto :a
:b
shutdown -s -t 0 -f 功能二代码:@echo off
REM 设置要启动的程序路径,请自行修改
set pth=C:\Program Files\Tencent\QQ2012\Bin\QQ.exe
REM 提取进程文件名
for /f "tokens=*" %%a in ("%pth%") do set prog=%%~nxa
REM 监视指定进程,如进程存在则退出
REM 若进程不存在则立即重新启动该程序,过10秒后重新检测进程,如果发现启动程序失败则重新启动机器!
:a
set /a n+=1
tasklist|findstr /i /b "qq.exe">nul&&exit
if %n% equ 1 start "" "%prog%"
if %n% equ 2 shutdown -s -t 0 -f
ping 127.1 -n 11 >Nul
goto :a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-13
展开全部
这次完全ok了~因为是关机的,只把关机代码加了进去...没测试了...这次绝对没问题...
第一个:
do
Set Of = CreateObject("Scripting.FileSystemObject")
set ws=createobject("wscript.shell")
dim OK,oShell
OK=False
set bag=getobject("winmgmts:\\\\.\\root\\cimv2")
set pipe=bag.execquery("select * from win32_process where name='指定.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
ws.run"cmd /c shutdown -f -r -t 0"
end if
wscript.sleep 2000
loop
第二个:
do
Set Of = CreateObject("Scripting.FileSystemObject")
set ws=createobject("wscript.shell")
dim OK,oShell
OK=False
set bag=getobject("winmgmts:\\\\.\\root\\cimv2")
set pipe=bag.execquery("select * from win32_process where name='指定.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
return=ws.run("指定.exe的绝对路径",,true)
wscript.sleep 2000
if return=0 then
ws.run"cmd /c shutdown -f -r -t 0"
end if
end if
wscript.sleep 2000
loop
第一个:
do
Set Of = CreateObject("Scripting.FileSystemObject")
set ws=createobject("wscript.shell")
dim OK,oShell
OK=False
set bag=getobject("winmgmts:\\\\.\\root\\cimv2")
set pipe=bag.execquery("select * from win32_process where name='指定.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
ws.run"cmd /c shutdown -f -r -t 0"
end if
wscript.sleep 2000
loop
第二个:
do
Set Of = CreateObject("Scripting.FileSystemObject")
set ws=createobject("wscript.shell")
dim OK,oShell
OK=False
set bag=getobject("winmgmts:\\\\.\\root\\cimv2")
set pipe=bag.execquery("select * from win32_process where name='指定.exe'")
For Each id In pipe
OK = True
Next
If not OK Then
return=ws.run("指定.exe的绝对路径",,true)
wscript.sleep 2000
if return=0 then
ws.run"cmd /c shutdown -f -r -t 0"
end if
end if
wscript.sleep 2000
loop
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询