程序如何重新自启动?(有思路啦!)
本帖最后由 uncttm 于 2009-9-2 14:07 编辑问题由来:
我做的程序需要连续24小时工作,但是长时间运行会出现内存占用的情况。
所以想做成能够自启动的程序,即:在空闲时,自己重新启动,以达到释放内存,重新初始化的目的。
但是不知道该如何实现?
请指教!
祝好运! 这个可以用系统自带的TASKS来做,在运行里打TASKS,设置运行任务即可。 建议检查程序,为什么会消耗那么多内存。 JKYang :程序检查过了,没有查到造成内存消耗的原因。
我曾经发过关于内存消耗查找方法的帖子,但是没有太好的解答,所以就想到了自启动的方法。
HHHHLLLL :
您说得TASKS方法我会试试,但是由于重新自启动是需要条件的(必须在处理数据完成,程序处于等待状态时),所以这一块还需要下下功夫。
感谢两位的回复!
继续求解! 可以在程序里初始化啊,也不一定要退出程序才能初始化吧??! HHHHLLLL :由于我到用了好多层的vi,说不准是哪个地方在消耗内存,也就不知道如何初始化程序了!
我晕啊! 我想到了一个方法实现程序自启动:
在满足程序结束条件时,调用“执行系统命令vi”,用来执行一个批处理文件(内容为:sleep 10;启动自己;),并且将“等待直到结束置为:false”,然后结束自己。这样作,在休眠10s后,程序就能自己启动了!应该可以吧?
利害啊!够笨啊!不过应该可行! 对于各个VI将消耗多少内存,NI有工具可以检测出来,如果因为程序载入数据或者运行过程中生成的数据影响内存,楼主应该自己心里有数啊,及时更新清除,应该不至于占用太大内存吧?? Labview中有一个VI是可以强制清除内存的。
页:
[1]