gpt4 book ai didi

linux - 如何重启erlang节点?

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:44 25 4
gpt4 key购买 nike

我有 git Push github 的示例

这是《Programming Erlang》一书中的应用示例

您可以关注README.md

我的问题是应用程序 sellaprime 何时启动,我

./bin/sp restart

这会使节点关闭并且不重新启动?

Erlang Doc

The system is restarted inside the running Erlang node, which means that the emulator is not restarted. All applications are taken down smoothly, all code is unloaded, and all ports are closed before the system is booted again in the same way as initially started. The same BootArgs are used again.

“模拟器未重新启动”是什么意思?

如果我想重新启动节点,正确的做法是什么?

顺便问一下,有没有API可以知道当前的发布版本,例如

application:which_applications()

最佳答案

看起来您的 sb 初始化脚本(使用 nodetool 脚本)应该为您调用 init:restart() 。如果完成此操作,但您的节点被关闭,请检查日志是否存在任何可能的错误(也许您的应用程序之一无法处理重新启动?)。

使用 init:restart() 是实现此目的的方法。下面是一个示例:使用名称启动一个 Erlang 节点(在本例中为 test):

$ erl -sname test
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.0 (abort with ^G)
(test@host)1> hello.
hello
(test@host)2>

临时启动另一个节点,该节点将对第一个节点进行 RPC 调用:

$ erl -sname other -noinput -noshell -eval "rpc:call('test@host', init, restart, [])" -s init stop
$

观察原节点正在重启:

(test@host)2> Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.0 (abort with ^G)
(test@host)1>

关于linux - 如何重启erlang节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32381394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com