erl0007 - erlang 远程节点连接的两种方式
啟動連接:erl -setcookie abc -name xxx@192.168.x.x -remsh xxx@192.168.x.y
退出:ctrl + g,q
參考:http://www.cnblogs.com/me-sa/archive/2012/01/18/erlang0033.html
轉(zhuǎn):http://www.2cto.com/kf/201306/222781.html
1. 啟動后臺運行的erlang環(huán)境(remsh模式)
按以下命令:
erl -detached -name a@127.0.0.1
注意,-name的值必須是xxxx@ip的形式。其中xxxx是英文名,ip必須是數(shù)字和點
的形式。如果是可以解析的有效域名應該也是可以的,但我試了用localhost會不
能被正常連接。同時,這個ip也必須是客戶端能訪問到的有效ip,否則同樣不能
成功連接。
啟動時還可以加上-s指定要運行的模塊,函數(shù)。然后它就在后臺跑了。如果你是
遠程用ssh這些方式連上控制臺的,現(xiàn)在可以關了,它也還會繼續(xù)跑。
2. 啟動另一個erlang環(huán)境連接到之前啟動的erlang(JCL模式)
現(xiàn)在,我們需要連上之前后臺啟動的erlang去控制一下它,或者查看一下情況之
類的。用以下命令啟動:
erl -name b@ip
其中,b也是一個英文名,但注意不能和之前的a相同(即使ip不同也不行)。此
處的ip貌似可以隨便寫,因為不需要從a再連回b。但如果需要,可能還是要寫一
個能從a訪問到b的有效ip。
啟動后,進入了互動的環(huán)境,此時按Ctrl+g,進入用戶切換模式,這時輸入
r 'a@127.0.0.1'
c
<Enter>
會發(fā)現(xiàn)此時你已經(jīng)在a@127.0.0.1的用戶下發(fā)號施令了。當你用完后,再用
Ctrl+g然后用j查看b的id是1還是2,用c 1或c 2連回來。在b里面用q().退出。這
樣a還是在運行。
?
注釋:兩種模式的區(qū)別:(來自《硝煙中的erlang》)
REMSH底層的運作機制和使用JCL模式時完全一樣,不過初始shell是遠程而非本地啟動的(JCL還是本地的)。^G仍然是最安全的退出遠程shell的方法。?
轉(zhuǎn)載于:https://www.cnblogs.com/rsblog/p/4335555.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的erl0007 - erlang 远程节点连接的两种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 安装jdk
- 下一篇: 转 互联网推送服务原理:长连接+心跳机制