2014-11-29 6 views
2

저는 eJabberd와 Erlang을 아주 좋아합니다. ejabberd에 대한 사용자 정의 등록 모듈을 개발할 때 어떤 점에서 inets 응용 프로그램을 사용해야하므로 start 메서드에서 application:start(inets)을 사용하여 시작합니다. 나는 또한 중지 방법에서 그것을 멈추고 싶었다. 그러나 나는 작은 실수를했고 application:stop(inets) 대신 application:stop(inet)을 썼다. 분명히, 그것은 작은 실수가 아니 었습니다! 이제는 내 ejabberd가 폐쇄되는 동안 어딘가에서 고정되어 있습니다. ejabberdctl status 반환eJabberd를 강제 종료하는 방법은 무엇입니까?

The node [email protected] is stopping with status: started 
Failed RPC connection to the node [email protected]: {'EXIT', 
                 {timeout, 
                 {gen_server,call, 
                 [application_controller, 
                  which_applications]}}} 

ejabberdctl start 반환

ERROR: The ejabberd node '[email protected]' is already running. 

하지만 난 어떤 XMPP 메신저를 사용하여 서버에 연결할 수 없습니다. 어떻게 든 강제로 닫을 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

감사합니다.

답변

3

마지막으로! erlang 노드와 ejabberd에 대해 더 많은 것을 배운 후에 나는 blu 스크립트 here 을 발견했다. 당신은 erlang 노드를 죽일 수있다. epmd -names를 실행 한 후 나는 확실히 ejabberd는 "ejabberd"노드가 아닌 "ejabberd의 @ 로컬 호스트"에서 실행중인 만든 내가 성공적으로 오

ejabberdctl start를 사용하여 ejabberd를 다시 시작 관리

./kill-erlang-node.sh ejabberd 

내가했던 일은, excute에하는 것이 었습니다 ! 그리고 명백하게 inets를 막는 것은하는 미쳤던 물건이었다! 하지 마! 이제까지!!

+1

예, inets를 중지하면 클러스터링 (또는 해당 노드에 다른 로컬 노드 연결) 기능이 손실됩니다. –

+0

@ Mickaël 흠, 예, 나는 ejabberd의 다른 부분이 이것을 사용해야한다고 생각했지만, 어떻게 통찰력을 얻었는지 알지 못했습니다. :) – mmbrian

관련 문제