求批处理监视指定进程!高手来!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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
天空卫士
2021-01-04 广告
2021-01-04 广告
说到数据防泄漏服务公司,北京天空卫士网络安全技术有限公司是很好的选择,北京天空卫士网络安全技术有限公司是一家总部设立在北京经济技术开发区的数据安全技术企业,致力于发展以人和数据为核心的新一代数据安全技术,创立了内部威胁防护技术体系(ITP)...
点击进入详情页
本回答由天空卫士提供
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询