我用一个脚本开始我的发布:
#!/bin/bash
ERL_FLAGS=" -args_file config/vm.args -config config/sys.config" rebar3 shell
我在我的vm.args文件中有一个-heart命令,因为我希望节点在崩溃后使用脚本自动 Boot 。对于手动节点崩溃,我使用命令“kill -SEGV pid”,并删除heart_beat_kill_pid。之后,我收到一条消息:
segmentation fault (core dumped) ERL_FLAGS=" -args_file config/vm.args -config config/sys.config" rebar3 shell
heart: Erlang has closed.
heart: Would reboot. Terminating.
什么也没发生。
我想我对-heart标志的理解还不够。我需要做什么来处理崩溃节点的问题?
1条答案
按热度按时间fcg9iug31#
根据https://erlang.org/doc/man/heart.html中的文档,需要设置
HEART_COMMAND
环境变量,以便节点在崩溃后自动重启。此外,由于您似乎正在使用
rebar3
,我建议在rebar.config
(relx
属性)中设置{extended_start_script, true}
。这将生成一个很好的启动脚本,可用于将erlang节点作为守护进程启动。