求批处理监视指定进程!高手来!50分!

我的意思是:用批处理或VBS脚本实现如下功能:1,监视指定进程如发现此进程不存在则立即重新启动机器!这是一种!2。监视指定进程如发现此进程不存在则立即重新启动该程序,如果... 我的意思是:用批处理或VBS脚本 实现如下功能:
1,监视指定进程 如发现此进程不存在则立即重新启动机器!这是一种!
2。监视指定进程 如发现此进程不存在则立即重新启动该程序,如果失败则重新启动机器!
1完成就给分
2只是附带问下!

另请教运行此批处理的最佳循环时间!以减少内存的占用!
要求原创!希望大家多多帮忙!
能不能搞个 几分钟运行一次 检测TASKLIST中是否存在所指进程
如果没有 立即重新启动!
有软件更好!
你的VBS脚本提示这行
ObjOperatingSystem.Win32Shutdown(1)错误缺少语句!
展开
 我来答
落vs寂
2008-05-23 · TA获得超过886个赞
知道小有建树答主
回答量:458
采纳率:0%
帮助的人:748万
展开全部
这次完全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
天空卫士
2023-08-28 广告
北京天空卫士网络安全技术有限公司不提供数据防泄漏服务。如果您需要数据防泄漏服务,建议您咨询专业的数据安全公司或机构,以确保您的数据得到妥善保护。 北京天空卫士网络安全技术有限公司就可以的,北京天空卫士网络安全技术有限公司是一家总部设立在北京... 点击进入详情页
本回答由天空卫士提供
luchuan2
2008-05-23 · TA获得超过302个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:489万
展开全部
echo off
ping 127.1 -n 3 >nul 2>nul

rem =========================================================================
rem 下面这一段 改进程名。

set p=notepad.exe

rem 这里修改监视的进程的名字.
rem ,notepad.exe是记事本的进程。
rem 如监视QQ进程可改为set p=qq.exe
rem =========================================================================
for /l %%i in (1,1,50000000) do (
rem =========================================================================
tasklist /fi "imagename eq %p%"|findstr /i /c:"%p%" >nul 2>nul &&echo %p%进程正在运行,等待5分钟后再次检测||shutdown -r -t 0
rem =========================================================================
rem 下面这一段 改 间隔时间。

ping 127.1 -n 300 >nul 2>nul

rem 上面数字300你可以自己改,60代表1分钟,300就是5分钟。
rem 如2分钟就这么写: ping 127.1 -n 120
rem =========================================================================
rem //////////////////////////////////////////////////////////////////////////
rem 以下是回答第2个文题了,如你想操作,可直接发信息给我.我会回复你的。
rem 如果没有发现notepad.exe进程就打开,如果不成功就重启电脑
rem tasklist /fi "imagename eq notepad.exe"|findstr /i /c:"notepad.exe" ||(start notepad.exe||shutdown -r -t 0)
rem //////////////////////////////////////////////////////////////////////////
)

rem 这个批处理怎么测试,如果你监控记事本进程就不用改了。
rem 打开记事本,会提示你发现进程正在运行,等待5分钟字样;
rem 如果你不打开记事本,就会立即重启电脑。
rem 要软件也可以,10个QB来换。哈哈,我是开玩笑的嘛,是不是?
rem 我的QQ是240686462/可以监控多个进程,这里没有。
rem CreateObject("WScript.Shell").Run "cmd /c c:\abcd.bat",0 这样的vbs代码接合起来就可以隐藏批处理。

goto :eof
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jlong6200
2008-05-31 · TA获得超过127个赞
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
上面的不需要那么复杂吧
@echo off

:Process
tasklist >Process.txt
type Process.txt | Find "123.exe" && goto RunProgram

:CMPShutDown
shutdown -s

:RunProgram
start 启动程序完整路径(发现123.exe后执行的程序完整路径)
goto Process
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
scary19871214
2008-06-01 · 超过18用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
直接捆绑到系统关键服务OK了,要是没了,系统肯定会重启
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海滨土著
2008-06-07 · TA获得超过1737个赞
知道小有建树答主
回答量:1051
采纳率:0%
帮助的人:889万
展开全部
我给你写个利用计划任务的,假设你要检查的进程名是test01.exe

sc config schedule start= auto
sc start schedule
d:\2.bat
上面3行写成1.bat放到“启动”里,使系统服务“任务计划”和2.bat自动启动,注意start=后面那个空格不要省,假设后面的2.bat保存在d:\

2.bat批处理如下,:
@echo off
if exist %windir%\tasks\自动检查.job attrib %windir%\tasks\自动检查.job -s -h -r&del /q %windir%\tasks\自动检查.job
tasklist|findstr /i "test01.exe"
if %errorlevel%==1 (shutdown -r -f -t 0)
for /f "tokens=1 delims=:" %%i in ('echo %time%') do set hour=%%i
for /f "tokens=2 delims=:" %%i in ('echo %time%') do set min=%%i
set /a min=%min%+5
if %min% geq 60 (set /a min=%min%-60&set /a hour=%hour%+1)
if %hour% lss 10 set hour=0%hour%
if %min% lss 10 set min=0%min%
schtasks /create /sc once /st %hour%:%min%:00 /tn 自动检查 /tr d:\2.bat /ru system
attrib %windir%\tasks\自动检查.job +r +h +s

上面是2.bat,它第一次是随系统启动的,然后取得当前时间,设置延迟5分钟再执行自己,最后隐藏掉“自动检查.job”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式