• 启动和停止分布式应用

    启动和停止分布式应用

    当所有参与的(强制)节点启动后,就可以在所有这些节点上调用 application:start(Application) 来启动分布式应用。

    当然也可以用启动脚本(参见 发布 )自动启动应用。

    应用会在第一个——由 distributed 配置参数指定的、已经启动并运行的——节点上启动。应用按正常的方式启动。也就是说,创建了应用主程序并调用了应用回调函数:

    1. Module:start(normal, StartArgs).

    例如:继续前一节的例子,三个节点都启动了,并指定了以下系统配置文件:

    1. > erl -sname cp1 -config cp1
    2. > erl -sname cp2 -config cp2
    3. > erl -sname cp3 -config cp3

    当所有的节点都起来并运行了,就可以启动 myapp 了。这是通过在所有三个节点上调用 application:start(myapp) 来完成的。然后,它被启动于 cp1 上,如下图所示。_images/dist1.gif类似地,应用必须通过在所有相关节点上调用 application:stop(Application) 来停止应用。