中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何实现每30秒检测一次进程并运行指定的命令?
作者:
标题: [求助]如何实现每30秒检测一次进程并运行指定的命令? 上一主题 | 下一主题
computer425
新手上路





积分 18
发帖 8
注册 2007-6-21
状态 离线
『楼 主』:  [求助]如何实现每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 ]

   此帖被 -2 点积分    点击查看详情   
评分人:【 lxmxn 分数: -2  时间:2007-6-24 23:38


2007-6-21 10:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 2 楼』:  

晕,这个程序不太好把
@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 ]

2007-6-21 10:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 3 楼』:  

lz把它放到开机启动不就可以了吗?还有600改为30!!

2007-6-22 14:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

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


2007-6-22 17:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 5 楼』:  

vbs写还差不多。。
批处理会死人的。



知,不觉多。不知,乃求知
2007-6-22 23:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 6 楼』:  



  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 ]

2007-6-24 21:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 7 楼』:  



  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 ]

2007-6-25 11:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 8 楼』:  



  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 ]

能否把那帖子连接到这呢

2007-6-26 21:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lasting
初级用户





积分 52
发帖 24
注册 2007-5-9
状态 离线
『第 9 楼』:  

可以用延时来解决。。不过想要等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



2007-6-26 22:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 10 楼』:  



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

延时方法




这个简单  一个VB延时就OK  

再来一个自动生成文件


我试了一下,好象还是不能实现哦,上面的P处理是不是能每隔30秒能自动的去运行某一P 处理啊 (假设C:\123.bat),类似“任务管理器”啊,而不要人去double click.

2007-6-27 23:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lasting
初级用户





积分 52
发帖 24
注册 2007-5-9
状态 离线
『第 11 楼』:  

晕。。你想30秒后自动运行。。添加计划任务吧。

2007-6-28 10:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bob1989
中级用户





积分 322
发帖 144
注册 2007-1-10
状态 离线
『第 12 楼』:  

计划任务里面怎么加??没有这种任务把

2007-6-28 11:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 13 楼』:  

想用一个自动的方式,不想用计划任务,能做的到吗

2007-6-28 15:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: