求批处理监视指定进程!高手来!50分!
我的意思是:用批处理或VBS脚本实现如下功能:1,监视指定进程如发现此进程不存在则立即重新启动机器!这是一种!2。监视指定进程如发现此进程不存在则立即重新启动该程序,如果...
我的意思是:用批处理或VBS脚本 实现如下功能:
1,监视指定进程 如发现此进程不存在则立即重新启动机器!这是一种!
2。监视指定进程 如发现此进程不存在则立即重新启动该程序,如果失败则重新启动机器!
1完成就给分
2只是附带问下!
另请教运行此批处理的最佳循环时间!以减少内存的占用!
要求原创!希望大家多多帮忙!
能不能搞个 几分钟运行一次 检测TASKLIST中是否存在所指进程
如果没有 立即重新启动!
有软件更好!
你的VBS脚本提示这行
ObjOperatingSystem.Win32Shutdown(1)错误缺少语句! 展开
1,监视指定进程 如发现此进程不存在则立即重新启动机器!这是一种!
2。监视指定进程 如发现此进程不存在则立即重新启动该程序,如果失败则重新启动机器!
1完成就给分
2只是附带问下!
另请教运行此批处理的最佳循环时间!以减少内存的占用!
要求原创!希望大家多多帮忙!
能不能搞个 几分钟运行一次 检测TASKLIST中是否存在所指进程
如果没有 立即重新启动!
有软件更好!
你的VBS脚本提示这行
ObjOperatingSystem.Win32Shutdown(1)错误缺少语句! 展开
5个回答
展开全部
这次完全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
天空卫士
2023-08-28 广告
2023-08-28 广告
北京天空卫士网络安全技术有限公司不提供数据防泄漏服务。如果您需要数据防泄漏服务,建议您咨询专业的数据安全公司或机构,以确保您的数据得到妥善保护。
北京天空卫士网络安全技术有限公司就可以的,北京天空卫士网络安全技术有限公司是一家总部设立在北京...
点击进入详情页
本回答由天空卫士提供
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面的不需要那么复杂吧
@echo off
:Process
tasklist >Process.txt
type Process.txt | Find "123.exe" && goto RunProgram
:CMPShutDown
shutdown -s
:RunProgram
start 启动程序完整路径(发现123.exe后执行的程序完整路径)
goto Process
@echo off
:Process
tasklist >Process.txt
type Process.txt | Find "123.exe" && goto RunProgram
:CMPShutDown
shutdown -s
:RunProgram
start 启动程序完整路径(发现123.exe后执行的程序完整路径)
goto Process
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接捆绑到系统关键服务OK了,要是没了,系统肯定会重启
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我给你写个利用计划任务的,假设你要检查的进程名是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”
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”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询