应用启动类型
当启动应用的时候要定义一个启动类型。
- application:start(Application, Type)
application:start(Application) 和调用 application:start(Application,temporary) 是一样的。类型还可以是 permanent 持久的或者 transient 过渡的:
- 如果一个持久应用终止了,所有其他的应用以及运行时系统都会被终止。
- 如果一个过渡应用以 normal 理由终止了,那么这个信息会被上报但是不会终止其他应用。如果一个过渡应用异常终止了——即以非 normal 的理由终止了——那么其他应用以及运行时环境也会被终止。
- 如果一个临时(temporary)应用终止了,那么会报告该信息但不会终止其他应用。
我们总是可以通过明确调用 application:stop/1 来停止一个应用。无论是什么模式,都不会影响其他应用。
注意在实践中很少使用过渡模式,因为当一个监督树终止了,退出理由会被设置为 shutdown ,而非 normal 。
当前内容版权归 ShiningRay 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShiningRay .