我有一個遠程Erlang節點和本地開發人員的PC。我想啓動本地節點[email protected]
,啓動觀察者,調用c:nl/1
和其他調試操作。我寫了這個:使用ssh端口轉發運行Erlang Observer
#!/bin/sh
export ERL_EPMD_PORT=43690
PORT=`ssh -l user target -p 5022 "/usr/bin/epmd -names" | awk '$2 == "target-node" {print $5}'`
pkill -f ssh.*-fxN.*target
ssh -fxNL 43690:`hostname`:4369 target -p 5022 -l user
ssh -fxNL $PORT:`hostname`:$PORT target -p 5022 -l user
ssh -fxNR 9001:`hostname`:9001 target -p 5022 -l user
erl -name [email protected] -setcookie ABCDEFFJKGSK \
-kernel inet_dist_listen_min 9001 inet_dist_listen_max 9001 \
-eval "net_adm:ping('[email protected]')."
pkill -f ssh.*-fxN.*target
但是當我運行此腳本,我得到這樣的消息:已經在使用中壞本地轉發規範 地址:
綁定「:Debian的:」二郎/ OTP 17 [專家評審組(異步線程:10)[kernel-poll:false]
Eshell V6.1(使用^ G中止)(dev @@@)[sip:4:4] [異步線程: 127.0.0.1)1>
如何在本地機器上運行觀察器並將它們連接到遠程節點?