应用控制器
当启动了Erlang运行时系统,作为Kernel应用的一些进程会被启动。其中一个进程是应用控制器进程,注册为 application_controller 。
所有对应用的操作都由应用控制器来协调。它通过模块 application 里的函数来暴露接口, 请参考 application(3) 。尤其要了解,应用可以被加载、卸载、启动和停止。
加载和卸载应用
在能启动一个应用之前,首先它必须被加载。应用控制器会读取在 .app 中的信息并存起来。
- 1> application:load(ch_app).
- ok
- 2> application:loaded_applications().
- [{kernel,"ERTS CXC 138 10","2.8.1.3"},
- {stdlib,"ERTS CXC 138 10","1.11.4.3"},
- {ch_app,"Channel allocator","1"}]
被停止的或者从未启动过的应用,可以被卸载。该应用相关的信息会从应用控制器的内部数据库中删除。
- 3> application:unload(ch_app).
- ok
- 4> application:loaded_applications().
- [{kernel,"ERTS CXC 138 10","2.8.1.3"},
- {stdlib,"ERTS CXC 138 10","1.11.4.3"}]
Note
加载/卸载应用并不会加载/卸载该应用所使用的代码。代码加载是按照一般的方式进行的。
当前内容版权归 ShiningRay 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShiningRay .