【发布时间】:2011-01-19 07:35:14
【问题描述】:
我正在编写我的第一个 erlang 应用程序,但我还不了解 erlang 生态系统的某些部分以及应该如何在其中完成工作。例如,如果我的应用程序依赖于其他一些应用程序,那么立即和停止它们的方法是什么?其实我已经想好怎么下手了,只要把application:start/1调用放到应用模块的start/2函数里面:
-module(myapp).
-behaviour(application).
-export([start/0, start/2, stop/1]).
start(_Type, _StartArgs) ->
ok = application:start(ssl),
ok = application:start(inets),
ok = application:start(log4erl),
myapp_sup:start_link().
stop(_State) ->
ok.
但是当我尝试将相应的application:stop/1 调用放入myapp:stop/1 函数并从erlang shell application:stop(myapp) 调用时,后者只是停止响应任何命令。
【问题讨论】:
-
只需停止
stop函数中的其他应用程序。正如罗伯托所说,您自己的应用程序被平台停止。 -
...并希望没有其他正在运行的应用程序依赖于停止的应用程序。
标签: erlang