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