找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1021|回复: 8

程序如何重新自启动?(有思路啦!)

[复制链接]
发表于 2009-9-2 09:17:56 | 显示全部楼层 |阅读模式
本帖最后由 uncttm 于 2009-9-2 14:07 编辑

问题由来:
我做的程序需要连续24小时工作,但是长时间运行会出现内存占用的情况。
所以想做成能够自启动的程序,即:在空闲时,自己重新启动,以达到释放内存,重新初始化的目的。
但是不知道该如何实现?
请指教!
祝好运!
发表于 2009-9-2 10:07:49 | 显示全部楼层
这个可以用系统自带的TASKS来做,在运行里打TASKS,设置运行任务即可。
回复 顶

使用道具 举报

发表于 2009-9-2 10:40:31 | 显示全部楼层
建议检查程序,为什么会消耗那么多内存。
回复 顶

使用道具 举报

 楼主| 发表于 2009-9-2 10:55:07 | 显示全部楼层
JKYang :程序检查过了,没有查到造成内存消耗的原因。
我曾经发过关于内存消耗查找方法的帖子,但是没有太好的解答,所以就想到了自启动的方法。

HHHHLLLL :
您说得TASKS方法我会试试,但是由于重新自启动是需要条件的(必须在处理数据完成,程序处于等待状态时),所以这一块还需要下下功夫。

感谢两位的回复!
继续求解!
回复 顶

使用道具 举报

发表于 2009-9-2 11:02:21 | 显示全部楼层
可以在程序里初始化啊,也不一定要退出程序才能初始化吧??!
回复 顶

使用道具 举报

 楼主| 发表于 2009-9-2 13:57:40 | 显示全部楼层
HHHHLLLL :由于我到用了好多层的vi,说不准是哪个地方在消耗内存,也就不知道如何初始化程序了!
我晕啊!
回复 顶

使用道具 举报

 楼主| 发表于 2009-9-2 14:04:48 | 显示全部楼层
我想到了一个方法实现程序自启动:
在满足程序结束条件时,调用“执行系统命令vi”,用来执行一个批处理文件(内容为:sleep 10;启动自己;),并且将“等待直到结束置为:false”,然后结束自己。这样作,在休眠10s后,程序就能自己启动了!应该可以吧?
利害啊!够笨啊!不过应该可行!
回复 顶

使用道具 举报

发表于 2009-9-2 18:00:55 | 显示全部楼层
对于各个VI将消耗多少内存,NI有工具可以检测出来,如果因为程序载入数据或者运行过程中生成的数据影响内存,楼主应该自己心里有数啊,及时更新清除,应该不至于占用太大内存吧??
回复 顶

使用道具 举报

发表于 2009-9-8 11:05:56 | 显示全部楼层
Labview中有一个VI是可以强制清除内存的。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 10:24 , Processed in 0.041322 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表