有什么方法可以强制停止eJabberd?

时间:2014-11-29 22:22:52

标签: ubuntu erlang xmpp ejabberd

我对eJabberd和Erlang很新。当我为ejabberd开发自定义注册模块时,我不得不使用inets应用程序,所以我在application:start(inets)方法中使用start启动它。我也想在stop方法中停止它,但我犯了一个小错误并写了application:stop(inet)而不是application:stop(inets)。显然,这不是一个小错误!现在我的ejabberd显然在关闭的时候冻结了。 ejabberdctl status返回

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

ejabberdctl start返回

ERROR: The ejabberd node 'ejabberd@localhost' is already running.

但我无法使用任何xmpp信使连接到服务器。有什么方法可以以某种方式迫使它关闭?

我很感激任何帮助!

由于

1 个答案:

答案 0 :(得分:3)

最后!在了解了有关erlang节点和ejabberd的更多信息后,我发现了一个bash脚本here 这将允许你杀死任何erlang节点。运行epmd -names后,我确保ejabberd在“ejabberd”节点上运行而不是“ejabberd @ localhost”,我所要做的只是执行

./kill-erlang-node.sh ejabberd

我成功设法使用ejabberdctl start

重启ejabberd

哦!并且显然停止使用inets是一件疯狂的事情!不要这样做!以往!!