我以芭蕉螺纹钢,这使得一个独立的escript可执行文件编译我的二郎应用。 我从命令行运行像它:./myapp myconfig.config
我questio是,我如何能够确定运行我的应用程序Erlang的节点名称。 当我的应用程序运行的“节点()”命令,它默认返回“nonode @ nohost”,但我想给我的名字到节点(例如mynode@domain.com),所以当我运行“节点()”在我的申请,我喜欢看“mynode@domain.com”而不是“nonode @ nohost”
我知道“二郎-name‘mynode@domain.com’”,但请考虑我运行命令行应用程序。 我认为一个Erlang VM运行,并在自动应用程序生命时终止。
最好的办法是当然的通过“-sname节点”或“节点-name @主机”来设置在命令行节点名。 但它有可能使用'net_kernel”模块来代替。 它在被描述http://www.erlang.org/doc/man/net_kernel.html
$ erl
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
1> node().
nonode@nohost
2> net_kernel:start([rumata, shortnames]).
{ok,<0.34.0>}
(rumata@rumata-osx)3> node().
'rumata@rumata-osx'
(rumata@rumata-osx)4> net_kernel:stop().
ok
5> node().
nonode@nohost
6> net_kernel:start(['rumata@myhost', longnames]).
{ok,<0.44.0>}
(rumata@myhost)7> node().
rumata@myhost
文章来源: How set Erlang node name, when run an Erlang application by basho rebar from command line