2

我从一个脚本开始我的发布:

#!/bin/bash
ERL_FLAGS=" -args_file config/vm.args -config config/sys.config" rebar3 shell

我的 vm.args 文件中有一个 -heart 命令,因为我希望节点在崩溃后使用脚本自动启动。对于手动节点崩溃,我使用命令“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 标志的了解不够。我需要做什么来处理崩溃节点的问题?

4

1 回答 1

0

根据https://erlang.org/doc/man/heart.html中的文档,HEART_COMMAND需要设置环境变量以使节点在崩溃后自动重启。

另外,正如您似乎正在使用的那样rebar3,我建议您{extended_start_script, true}rebar.configrelx属性)中进行设置。这将生成一个不错的启动脚本,可用于将 erlang 节点作为守护进程启动。

于 2020-07-26T16:01:22.783 回答