在使用rebar完全清除老的内容,并且生成新的程序,然后启动之后,发现 attach 怎么也 没办法连上了,即使ping也没办法连通。提示类似下面的错误:
** System NOT running to use fully qualified hostnames ** ** Hostname test_server is illegal ** ** ERROR: Shell process terminated! (^G to start new job) **
最后找到了原因,是因为启动的时候,我用的节点的名称是test_server,是个短名,但参 数的格式写成了-name test_server,造成在连接的时候必须使用长名的格式,而目标的却 是个短名格式。虽然kill掉之后,修改完再启动就可以了。但查找资料过程中,在 stackoverflow上找到了另外一种连接的方式,可以连上节点:
erl -sname test -setcookie *COOKIE* -remsh n1@hostanme
-remsh是短名的格式,这样可以连接上节点,并且执行节点中的操作,只是节点代码中的 io:format之类的输出,并不会在新的节点上显示。