![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 09:23 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何让批处理不断扫描进程,并结束指定进程 |
| 可打印版本 1,212 / 6 |
| 第1楼 xjzhf4 | 发表于 2008-01-21 18:05 |
| 新手上路 发帖 5 积分 12 | |
|
如何让批处理不断扫描进程,并结束指定进程 请各位高手帮我写一个批处理,可以一直扫描进程,如发现有dwwin.exe进程,则立即结束它,谢谢,另外这个批处理要和下面这个批处理文件配合使用,我发出来大家看下。下面这个批处理是保证DprClient.exe一直运行的,但DprClient.exe不能和dwwin.exe同时运行。最好能隔五分种扫描一次,先谢谢各位了。
@echo off set app_name=DprClient.exe set app_path=D:\asde\bb set proc_name=%app_name% set reboot=0 set rdelay=300 set call_delay=120 set loop_timeout=60 set /a _m=2 set fullname=%app_path%\%app_name% set tmpvar=%_m% set /a _m=%_m%+1 set /a count=0 set /a tmpvar1=0 :loop cls echo ......................................... echo 延时守护脚本(WinXP) echo ......................................... echo 可实现延时启动、看护、重启系统 echo 纯脚本运行不需借助第三方工具 echo 请将本脚本放入 Windows 启动组自动运行 echo. echo 设定参数列表 echo 被看护对象:%app_name% echo 对象路径:%app_path% echo 进程名称:%proc_name% echo 检查周期:%loop_timeout% 秒 呼叫延时:%call_delay% 秒 echo 重启系统延时:%rdelay% 秒 echo 重启前被看护程序死亡次数:%tmpvar% 次 echo ......................................... echo. if not exist "%fullname%" goto nofile goto begin :nofile echo 找不到文件 %fullname% echo 请检查脚本 echo 脚本中止 goto end :begin echo 查找进程 %proc_name% (tasklist /nh | findstr /i "%proc_name%") || (goto callit) echo 程序已运行 echo 被看护对象已经死亡 %tmpvar1% 次 goto continue :callit echo 进程未找到 set /a count=%count%+1 set /a tmpvar1=%count%-1 echo 被看护对象已经死亡 %tmpvar1% 次 if %count% EQU %_m% goto reboot echo 延时 %call_delay% 秒启动 ping -n %call_delay% localhost > nul start "" /D"%app_path%" "%app_name%" goto continue :continue echo. echo 等待 %loop_timeout% 秒重新看护 ping -n %loop_timeout% localhost > nul goto loop :reboot echo 按规则将在 %rdelay% 秒之后重启 echo. shutdown /r /t %rdelay% /c "被看护程序死亡 %tmpvar% 次,按规则将在 %rdelay% 秒之后重启" :choice set /P choice=要中止重启动,输入Y(不分大小写)并回车: if /I "%choice%" NEQ "Y" goto choice :stop shutdown /a echo 重启已经中止 goto end :end echo 按任一键退出守护脚本 pause>nul [ Last edited by xjzhf4 on 2008-1-21 at 06:07 PM ] |
|
| 第2楼 xjzhf4 | 发表于 2008-01-21 19:27 |
| 新手上路 发帖 5 积分 12 | |
|
咋还没有帮我呀,自己顶个先。。
|
|
| 第3楼 plp626 | 发表于 2008-01-21 21:42 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
你哪程序看的 我头晕.
很基本,太基本: [ Last edited by plp626 on 2008-1-21 at 09:43 PM ] |
|
| 第4楼 zhu6225103 | 发表于 2008-01-22 01:07 |
| 初级用户 发帖 15 积分 36 | |
|
感觉楼主的那个P全是废话比较多有用的没几句
|
|
| 第5楼 dato | 发表于 2008-01-22 08:41 |
| 高级用户 发帖 377 积分 916 | |
|
你用"进程"做关键词搜索一下吧,似乎只有注册表的映象截止方式才能实现你的要求
想用纯批的方法实现即时监测,汗那CPU资源占用就厉害了,这种只有用高级语言才好实现 |
|
| 第6楼 regvip2008 | 发表于 2008-01-23 10:11 |
| 初级用户 发帖 87 积分 187 | |
|
楼上说得非常有道理!
|
|
| 第7楼 fastslz | 发表于 2008-01-23 11:31 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
5秒提示方式
宁静日志方式(D:\kill.log) arrTargetProcs = Array("calc.exe")把calc.exe改为自己的程序名 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |