中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 07:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何解决因批处理循环运行而引起的内存消耗死机问题! 查看 1,129 回复 10
楼 主 如何解决因批处理循环运行而引起的内存消耗死机问题! 发表于 2007-10-14 00:14 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
因为特殊原因,我需要在我的机子上运行一个循环批处理,命令如下:
:begin
query user 1 |find "运行中" &&logoff 2
goto begin

这循环批处理连续运行几个小时我的机子是没有问题的!但是如果连续运行了几天的话,就会引发一些错误,轻则机子速度会明显变慢,重则死机!

我的机子有1G内存,是专门买来挂机的,所以需要成天运行着!但是这批处理不能连续运行着!所以我要隔三岔五得登陆机子,重启机子!很是烦人!

不知道那位高人,知道有好的解决方法!
2 发表于 2007-10-14 00:30 ·  中国 北京 中国科学院研究生院玉泉四公寓
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
可以将他写成每次只运行3分钟;
隔1分钟运行一次!

连续运行当然会挂机的!
3 发表于 2007-10-14 20:38 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
除了把循环的间隔改长一点外,不知道还有什么其他的办法呢!请高人指点一下啊!
4 发表于 2007-10-20 20:36 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
那你说的:
可以将他写成每次只运行3分钟;
隔1分钟运行一次!

这个怎么写呢!希望大侠帮忙一下啊!
5 发表于 2007-10-20 23:54 ·  中国 广东 广州 白云区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
根据实际情况,你大可每天自动重启一次你这台电脑,好像这样解决这个问题最直接
6 发表于 2007-10-26 22:05 ·  中国 河南 郑州 联通
初级用户
积分 63
发帖 25
注册 2007-10-11 21:21
18年会员
UID 99482
性别 男
状态 离线
“每天自动重启一次你这台电脑”?!这还不得郁闷死我啊!每天都重启,那还不得再重新启动系统中的软件!太烦琐了!
7 发表于 2007-10-26 23:53 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
这个得关注一下

曾经也想使用批处理循环实现特定功能,但是没想到进程里的cmd.exe不断的增加,后来只得用计划任务每隔一段时间执行再exit,纯粹的批处理还不知道怎么来循环
8 发表于 2007-10-27 11:18 ·  中国 福建 三明 电信
高级用户
★★
论坛上抢劫的
积分 551
发帖 246
注册 2006-09-21 12:35
19年会员
UID 63270
状态 离线
呵呵,编两个一样的批哈,相互start,start完后就自动关闭!!如
1.bat

@echo off
ping -n 100 127.1>nul
......
start 2.bat
exit

2.bat
@echo off
ping -n 100 127.1>nul
......
start 1.bat
exit
不过我发现ping这个东西时间太不准了,有时ping一小时居然一两分钟就过了(连续运行了1天还是两天后发现),后来换sleep(本论坛有下)了.

[ Last edited by lotus516 on 2007-10-27 at 11:20 AM ]
9 发表于 2007-10-27 12:50 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
嗯,楼上的方法是解决了这个问题。

不过这种方法在安全性方面似乎不如计划任务来得好。偶的那个东东其实就是个杀进程的批,纯批的这种方式一旦被人终止cmd.exe就完蛋了,不知道有没有更完美的,或者简单点的让cmd.exe这个进程无法发现
10 发表于 2007-10-28 00:35 ·  中国 福建 三明 电信
高级用户
★★
论坛上抢劫的
积分 551
发帖 246
注册 2006-09-21 12:35
19年会员
UID 63270
状态 离线
加入系统服务,论坛上有可使任何可执行做为系统服务运行的软件!!
11 发表于 2007-10-28 00:56 ·  中国 福建 三明 电信
高级用户
★★
论坛上抢劫的
积分 551
发帖 246
注册 2006-09-21 12:35
19年会员
UID 63270
状态 离线
Originally posted by dato at 2007-10-26 23:53:
这个得关注一下

曾经也想使用批处理循环实现特定功能,但是没想到进程里的cmd.exe不断的增加,后来只得用计划任务每隔一段时间执行再exit,纯粹的批处理还不知道怎么来循环

按说还是批没写得很好,一般这不会发生的啊!
论坛跳转: