首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当程序中的mnesia停止时,Erlang应用程序停止

问当程序中的mnesia停止时,Erlang应用程序停止
EN

Stack Overflow用户
提问于 2010-08-13 21:54:19
回答 2查看 547关注 0票数 5

我遇到了一个问题,在我的程序中,我无法在不导致应用程序挂起的情况下停止记忆症。

我目前正在我的erlang应用程序中对mnesia进行原型设计。

在我的jaus_app.erl文件中,start()调用:

代码语言:javascript
复制
{atomic, ok} = mnesia:load_textfile("priv/mnesia_prototype.txt")

我的stop()函数调用:

代码语言:javascript
复制
mnesia:dump_to_textfile("priv/mnesia_prototype_res.txt"),
mnesia:stop(),

当我注释掉这些行并从erlang提示符中启动和停止mnesia时,我就能够干净利落地停止我的应用程序。

我不应该在一个完全成熟的erlang应用程序中使用这些原型函数吗?

肯。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-19 22:35:11

通过使用systools创建引导文件,mnesia在我的应用程序之前启动,并在我的应用程序关闭后停止。这修复了上面legoscia提到的挂起问题。引导文件的想法是由erlang咨询公司的Mazen提出的。非常感谢他的建议。

票数 2
EN

Stack Overflow用户

发布于 2010-08-13 22:02:55

来自erlang文档:

文本文件(文件名):将mnesia系统的所有本地表转储到一个文本文件中,然后可以(通过普通文本编辑器)编辑该文件,然后使用mnesia:dump_to_textfile_textfile/1重新加载该文件。仅将此函数用于教学目的。使用其他功能处理真实备份。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3477489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档