为什么我无法在Windows中启动命名的Erlang节点?

k2arahey  于 2022-12-08  发布在  Erlang
关注(0)|答案(3)|浏览(209)

我试图在Windows XP Home中使用-sname选项启动一个命名的Erlang节点,但是当我运行erl时,它打印出一条很长的错误消息,我不理解,然后退出:

> erl -sname allyourcode
{error_logger,{{2009,5,25},{16,20,57}},"Protocol: ~p: register error: ~p~n",["in
                                                                             et_tcp",{{badmatch,{error,econnrefused}},[{inet_tcp_dist,listen,1},{net_kernel,s
                                                                                                                                                 tart_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,
                                                                                                                                                                                                                      init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]}
{error_logger,{{2009,5,25},{16,20,57}},crash_report,[[{initial_call,{net_kernel,
                                                                     init,['Argument__1']}},{pid,},{registered_name,[]},{error_info,{exit,{er
                                                                                                                                           ror,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[
                                                                                                                                                                                                                           net_sup,kernel_sup,]},{messages,[]},{links,[#Port,]},{dicti
                                                                                                                                                                                                                                                                                 onary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,610},{st
                                                                                                                                                                                                                                                                                                                                                               ack_size,24},{reductions,490}],[]]}
{error_logger,{{2009,5,25},{16,20,57}},supervisor_report,[{supervisor,{local,net
                                                                       _sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{p
                                                                                                                                                      id,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[[allyourcode,shortn
                                                                                                                                                                                                                    ames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2009,5,25},{16,20,57}},supervisor_report,[{supervisor,{local,ker
                                                                       nel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined
                                                                                                                                         },{name,net_sup},{mfa,{erl_distribution,start_link,[]}},{restart_type,permanent}
                                                                                                                                        ,{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2009,5,25},{16,20,57}},std_info,[{application,kernel},{exited,{s
                                                                               hutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kern
                                                  el,{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

我想包含erl_crash.dump文件,但我不知道一个好的方法来完成,因为它太长了。
起初,我以为我有一个防火墙的问题,因为我第一次尝试这样做,我的防火墙问我是否会授予不同的程序的权限,我这样做了;但是,即使禁用了防火墙,我仍然遇到同样的问题。
而使用-name似乎也没有什么帮助。

ha5z0ras

ha5z0ras1#

是的,您甚至可能需要重新启动操作系统-要检查这是否属实,您也可以使用不同的名称启动节点,而且通常最好使用完全限定的名称,例如:
错误-名称rambo@127.0.0.1 -设置cookie KILLER
然后,使用以下命令启动另一个:
erl -名称终止符@127.0.0.1-设置cookie KILLER
并尝试ping另一个节点:
网络管理员:ping('rambo@127.0.0.1')。
您应该会收到“pong”消息。
下次使用
节点()。
以查看所有可见节点。

vqlkdk9b

vqlkdk9b2#

我想您会发现您已经启动了一个同名的节点。请尝试关闭所有Erlang控制台窗口,然后再试一次。

prdp8dxp

prdp8dxp3#

1.您需要确保您没有使用已注册的名称(当然):这包括Erlang已经声明的任何名称。
1.如果您在同一台计算机上启动,但使用不同的用户,请确保您的Cookie相同。

相关问题