У меня есть удаленный узел Erlang и локальный компьютер разработчика. Я хочу запустить локальный узел [email protected]
, запустить наблюдателя, вызвать c:nl/1
и другие действия отладки. Я написал это:Запуск Erlang Observer с пересылкой порта ssh
#!/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
Но когда я запускаю этот сценарий, я получаю сообщение, как:
связывают: Адрес уже используется Bad местной спецификации переадресации ': Debian:' Erlang/OTP 17 [ГЭР -6.1] [источник] [64-бит] [smp: 4: 4] [async-threads: 10] [kernel-poll: false]
Eshell V6.1 (отменить с помощью^G) (dev @ 127.0.0.1) 1>
Как я могу запустить наблюдателя на локальной машине и подключить их к удаленному узлу?