erlang创建自命名的节点的时候报错了!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了erlang创建自命名的节点的时候报错了!!相关的知识,希望对你有一定的参考价值。

郁闷啊!今天学到了“运行并发程序于一台机器上的不同节点”这一小结了。然后兴冲冲的erl -sname gandalf了一下。结果发现没有预想的进去,而是crash掉了。学在前面的人教教我啊。error log如下:
E:\Program Files\erl5.6.5\usr\src>erl -name pl
error_logger,2009,1,22,19,7,55,"Failed to create cookie file",[]
error_logger,2009,1,22,19,7,55,crash_report,[[pid,<0.19.0>,registered_
name,auth,error_info,exit,"Failed to create cookie file",[auth,init_cookie,
0,auth,init,1,gen_server,init_it,6,proc_lib,init_p_do_apply,3],[gen_ser
ver,init_it,6,proc_lib,init_p_do_apply,3],initial_call,auth,init,['Argume
nt__1'],ancestors,[net_sup,kernel_sup,<0.8.0>],messages,[],links,[<0.17.0
>],dictionary,[],trap_exit,true,status,running,heap_size,610,stack_siz
e,23,reductions,636],[]]
error_logger,2009,1,22,19,7,55,supervisor_report,[supervisor,local,net_
sup,errorContext,start_error,reason,"Failed to create cookie file",[auth,
init_cookie,0,auth,init,1,gen_server,init_it,6,proc_lib,init_p_do_apply,3
],offender,[pid,undefined,name,auth,mfa,auth,start_link,[],restart_t
ype,permanent,shutdown,2000,child_type,worker]]
error_logger,2009,1,22,19,7,55,supervisor_report,[supervisor,local,kern
el_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,1,22,19,7,55,crash_report,[[pid,<0.7.0>,registered_n
ame,[],error_info,exit,shutdown,kernel,start,[normal,[]],[application_ma
ster,init,4,proc_lib,init_p_do_apply,3],initial_call,application_master,i
nit,['Argument__1','Argument__2','Argument__3','Argument__4'],ancestors,[<0.6
.0>],messages,['EXIT',<0.8.0>,normal],links,[<0.6.0>,<0.5.0>],dictionary
,[],trap_exit,true,status,running,heap_size,233,stack_size,23,reductio
ns,123],[]]
error_logger,2009,1,22,19,7,55,std_info,[application,kernel,exited,sh
utdown,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,kerne
l,shutdown,kernel,start,[normal,[]])

伤感啊,伤感。
我装了MinGW 和MSYS之后,在模拟的Linux命令行却可以sname进去啊,这是怎么回事啊。E:\Program Files\erl5.6.5\usr\src下面我也建立了那个叫做什么.erlang.cookie的文件的说,还是不行。
哦,对了,命令行普通默认不取名字的模式下可以进erlang shell。erlang自带的那个工具CTRL-G之后
s gandalf也是不行,也报错。 还有,这些情况是在一台XP机器上,cmd目录也都是盘根目录,不带空格和中文字符的:一方面,我在自己的vista上面以根目录创建俩节点,确是完全没问题!完全不知所以然。我的XP电脑和Vista电脑上装的Erl版本和source版本都是一致的。

参考技术A .erlang.cookie 需要放在 环境变量 HOME 所在目录。本回答被提问者采纳

SQL中使用关键词创建表或字段

有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了:

ERROR:  syntax error at or near "limit"

MySQL解决方法:

  在MySQL中需要添加 ``

create table  `order` (id int, `limit` int);   # 由于order和limit都是MySQL中的关键字,必须加上``才能使用

 

PostgreSQL解决方法:

  在PostgreSQL中需要添加 ""

create table  "order" (id int, "limit" int);   # 由于order和limit都是PostgreSQL中的关键字,必须加上""才能使用

 

但是,命名表或者字段等时,最好考虑使用非保留名称

以上是关于erlang创建自命名的节点的时候报错了!!的主要内容,如果未能解决你的问题,请参考以下文章

节点命名问题

Erlang子节点代码加载

使用 unix 批处理自动化 Erlang shell 节点

我可以在 C 节点中获得 Erlang OTP 行为吗?

Elixir重命名并包装Erlang模块?

ejabberd,erlang,简单看了一下,总结一下,很肤浅