回答
这里,你可以把user_default.erl模块中的远程节点上的功能:
out(Fun, File) ->
G = erlang:group_leader(),
{ok, FD} = file:open(File, [write]),
erlang:group_leader(FD, self()),
Fun(),
erlang:group_leader(G, self()),
file:close(FD).
然后,你可以做以下(重新编译和装载user_default后):
1> out(fun() -> mnesia:info() end, "mnesia_info.txt").
或者,将以下内容剪切并粘贴到外壳中:
F = fun (Fun, File) ->
G = erlang:group_leader(),
{ok, FD} = file:open(File, [write]),
erlang:group_leader(FD, self()),
Fun(),
erlang:group_leader(G, self()),
file:close(FD)
end,
F(fun() -> mnesia:info() end, "mnesia_info.txt").
我相信你不能。请参阅system_info(全部)。
转换为字符串:
S = io_lib:format("~p~n", [mnesia:info()]).
然后将其写入磁盘。
它不工作。您将从中得到的是:[“ok”,“\ n”]。 – 2011-04-02 08:34:06
因为system_info()写到tty – vinnitu 2011-04-02 09:03:56
无赖:)这会教我尝试帮助而不尝试它呃? – 2011-04-03 05:44:02
如果你在没有滚动的终端上(如果你在xterm上,并且看到没有滚动条只是简单的打开它),一个非常有用的工具是screen:它提供虚拟的vt100 termials,甚至可以在终端之间切换然后再回来(对于需要偶尔交互的远程服务器上的长时间运行的程序来说很好)。
而且您可以将转录记录到文件并滚动输出虚拟终端。
如果你使用的是Unix系统,那么你可能只需要安装预构建的软件包,如果其他软件都失败了,你可以随时拿起源代码并自己构建。
另请看article其他解决方案。
如果你不能在系统上安装screen,只使用Unix的内置东西,一个简单但并不是很舒服的手段是:
:与 tee(1)开始Erlang的外壳将输出重定向
$ erl | tee output.log
Eshell V5.7.5 (abort with ^G)
1> mnesia:info().
===> System info in version {mnesia_not_loaded,[email protected],
{1301,742014,571300}}, debug level = none <===
opt_disc. Directory "/usr/home/peer/[email protected]" is NOT used.
use fallback at restart = false
running db nodes = []
stopped db nodes = [[email protected]]
ok
2>
它有点难以脱身的外壳(您可能必须键入^D
结束输入文件),但你必须在文件中的TTY输出:
$ cat output.log
Eshell V5.7.5 (abort with ^G)
1> ===> System info in version {mnesia_not_loaded,[email protected],
{1301,742335,572797}}, debug level = none <===
...
- 1. 保存UIImageView信息
- 2. NSUserDefaults保存信息
- 3. erlang mnesia - 非法记录信息
- 4. 存储保存的信息
- 5. Excel宏保存信息
- 6. 保存PHP会话信息
- 7. 什么信息就保存
- 8. 以Java保存信息
- 9. JSON保存重复信息
- 10. 保存统计信息mysql
- 11. 将temparay信息保存在内存中
- 12. 在Dashcode中保存信息以关闭/同步信息
- 13. 保持信息
- 14. Application_Error:如何保存异常信息?
- 15. 将Facebook信息保存到Mysql
- 16. rsync可以保存目录信息吗?
- 17. 保存输入到UITableView的信息
- 18. 保存执行之间的信息?
- 19. 保存UITextfield信息的问题
- 20. 将信息保存在页面顶部
- 21. 保存密码/用户名信息
- 22. Ajax调用不保存表单信息
- 23. Android保存详细信息屏幕
- 24. C#Cookie未保存其信息
- 25. onSaveInstanceState(Bundle outState)保存多少信息?
- 26. 保存HTML5位置信息的文件
- 27. TransactionScope错误保存了很多信息
- 28. 保存会话和cookie中的信息
- 29. 在C#中保存信息时出错#
- 30. 保存登录信息(首选项)android
你对“unix screen”有什么意思。你的意思是屏幕(1)的命令?你真的在使用远程shell rsh(1)(你应该使用ssh btw)吗?你为什么不能滚动?如果你描述了你连接到erlang的确切方式,我相信你的问题可以解决,但你的问题缺乏信息。 – 2011-04-02 08:37:33
我通过ssh连接到远程服务器,在那里本地我使用rsm erlang节点连接到工作节点,并且运行mnesia:system_info() - 并且输出太长且不在屏幕上,只能看到最后30个行和滚动不帮我 – vinnitu 2011-04-02 09:03:15