Board logo

标题: [求助]如何实现每30秒检测一次进程并运行指定的命令? [打印本页]

作者: computer425     时间: 2007-6-21 10:34    标题: [求助]如何实现每30秒检测一次进程并运行指定的命令?

我需要做到每30秒检测一个进程的运行,如果不存在电脑重启,并且这个批处理每30秒自己运行检测。
:loop
tasklist|findstr /i "explorer.exe" ||shutdown -s -t 50
ping 127.1 -n 600 >nul 2>nul
goto loop
我看前面帖子是这么写的,但是我运用是一定要自己点这个批处理才能起作用,我希望是这个批处理能每30秒自己做到运行。
我也看了很多大家写的这方面帖子,但是我运用起来感觉起不了作用,我是个门外汉,对批处理不懂,希望大家能写个完整的批处理,让我学习下。谢谢!


─────────────────── 版务记录 ────────────────────
执行:lxmxn
说明:因在提示修改标题之后3日内未修改标题,扣除2点积分,并由本人修改标题。
─────────────────── 版务记录 ────────────────────


[ Last edited by lxmxn on 2007-6-24 at 11:45 PM ]
作者: zasxcdfv     时间: 2007-6-21 10:37
晕,这个程序不太好把
@echo off
tasklist >> tasklisttmp.txt
findstr /i "你要监视的进程名" tasklisttmp.txt >nul
if errorlevel 1 (del tasklisttmp.txt&shutdown -r -f) else del tasklisttmp.txt
ping -n 30 127.0.0.1 > nul
call %0

没有测试shutdown -r……改成del tasklisttmp.txt&echo yes!!! 测试成功.....
期待高人指教~

[ Last edited by zasxcdfv on 2007-6-21 at 10:48 AM ]
作者: lotus516     时间: 2007-6-22 14:14
lz把它放到开机启动不就可以了吗?还有600改为30!!
作者: HAT     时间: 2007-6-22 17:34
try this one :)
@echo off
rem 重启应该使用-r
tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50
rem willsort斑竹说过,第一条消息是不需要等待的,所以延时30秒,应该用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用循环,call一下自己就行了
call %0

作者: flyinspace     时间: 2007-6-22 23:42
vbs写还差不多。。
批处理会死人的。
作者: joshualaw     时间: 2007-6-24 21:28


  Quote:
Originally posted by flyinspace at 2007-6-22 11:42 PM:
vbs写还差不多。。
批处理会死人的。

能否用VBS写一个,来实现这一功能(只要电脑每次一启动,每隔30秒自动去调用和运行某一P处理


高手们, 能实现吗,请出招啊

[ Last edited by joshualaw on 2007-6-24 at 09:37 PM ]
作者: zasxcdfv     时间: 2007-6-25 11:11


  Quote:
Originally posted by HAT at 2007-6-22 05:34 PM:
tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50
rem willsort斑竹说过,第一条消息是不需要等待的,所以延时30秒,应该用-n 31

受教了!

之前好像有通过将程序定义为服务的方式自启动的帖子
lz可以翻翻

[ Last edited by zasxcdfv on 2007-6-25 at 11:14 AM ]
作者: joshualaw     时间: 2007-6-26 21:31


  Quote:
Originally posted by zasxcdfv at 2007-6-25 11:11 AM:

受教了!

之前好像有通过将程序定义为服务的方式自启动的帖子
lz可以翻翻

[ Last edited by zasxcdfv on 2007-6-25 at 11:14 AM ]

能否把那帖子连接到这呢
作者: lasting     时间: 2007-6-26 22:03
可以用延时来解决。。不过想要等30秒后再运行就要等高手来处理了。。

延时方法

  Quote:
:loop
tasklist|findstr /i "explorer.exe" ||shutdown -s -t 50
setlocal enableextensions
echo WScript.Sleep 30000> %temp%.\tmp$$$.vbs   ;这里的30000是毫秒。1000毫秒=1秒。你想延时多久自己算。
@cscript //nologo %temp%.\tmp$$$.vbs
goto loop

这个简单  一个VB延时就OK  

再来一个自动生成文件

  Quote:
echo q | debug>nul
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
sleep.com>sleep.exe
del sleep.com

:loop
tasklist|findstr /i "explorer.exe" ||shutdown -s -t 50
sleep 30000   
goto loop


作者: joshualaw     时间: 2007-6-27 23:47


  Quote:
Originally posted by lasting at 2007-6-26 10:03 PM:
可以用延时来解决。。不过想要等30秒后再运行就要等高手来处理了。。

延时方法




这个简单  一个VB延时就OK  

再来一个自动生成文件


我试了一下,好象还是不能实现哦,上面的P处理是不是能每隔30秒能自动的去运行某一P 处理啊 (假设C:\123.bat),类似“任务管理器”啊,而不要人去double click.
作者: lasting     时间: 2007-6-28 10:17
晕。。你想30秒后自动运行。。添加计划任务吧。
作者: bob1989     时间: 2007-6-28 11:09
计划任务里面怎么加??没有这种任务把
作者: joshualaw     时间: 2007-6-28 15:31
想用一个自动的方式,不想用计划任务,能做的到吗