1

我正在尝试让 erlang 应用程序作为具有长节点名称的 Windows 服务运行,但-namefor 的标志erlsrv似乎不起作用。该服务似乎在运行,但没有出现epmdnet_adm:names(). 但是,当我改用该-sname标志时,它似乎可以工作。

我正在使用 Rebar 生成我的发布脚本。这是安装服务的脚本部分:

:install
@set description=Erlang node %node_name% in %node_root%
@set start_erl=%node_root%\bin\start_erl.cmd
@set args= ++ %node_name% ++ %node_root%
@%erlsrv% add %service_name% -c "%description%" -name %node_name% -args "%args%" -w "%node_root%" -m "%start_erl%" -stopaction "init:stop()."
@goto :EOF

如何让此服务与长节点名称一起使用?

4

1 回答 1

1

事实证明,vm.args 文件还指定了一个名称,这可能与erlsrv命令中指定的名称冲突。win_vm.args我通过在没有-name参数的情况下创建一个新的并更改它start_erl.cmd以查找文件的 Windows 版本来修复它。我还更改了应用程序 cmd 脚本中的所有-snameto-name选项。

于 2013-04-01T20:55:54.790 回答