启动和停止分布式应用

当所有参与的(强制)节点启动后,就可以在所有这些节点上调用 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) 来停止应用。