2013-04-01 3 views
1

긴 노드 이름을 사용하는 Windows 서비스로 실행되도록 erlang 응용 프로그램을 얻으려고하고 있지만 -name 플래그가 erlsrv 인 것으로 보이지 않습니다. 서비스가 실행 중이지만 epmdnet_adm:names()으로 표시되지 않습니다. 그러나 대신 -sname 플래그를 사용하면 작동하는 것 같습니다.Windows에서 긴 노드 이름을 사용하여 Erlang Service를 어떻게 실행할 수 있습니까?

내 릴리스 스크립트를 생성하기 위해 Rebar를 사용하고 있습니다.

:install 
@set description=Erlang node %node_name% in %node_root% 
@set start_erl=%node_root%\bin\start_erl.cmd 
@set args= ++ %node_name% ++ %node_root% 
@%erlsrv% add %service_name% -c "%description%" -name %node_name% -args "%args%" -w "%node_root%" -m "%start_erl%" -stopaction "init:stop()." 
@goto :EOF 

가 어떻게이 서비스가 긴 노드 이름 작업을 얻을 수 있습니다 : 여기에 서비스를 설치 스크립트의 섹션은 무엇입니까?

답변

1

vm.args 파일도 erlsrv 명령에 지정된 이름과 충돌 할 수있는 이름을 지정합니다. -name 매개 변수없이 새 win_vm.args을 만들고 파일의 Windows 버전을 찾으려면 start_erl.cmd을 변경하여 수정했습니다. 또한 응용 프로그램 cmd 스크립트에서 -sname을 모두 -name 옵션으로 변경했습니다.