Erlang 软件升级全解析:从底层指令到环境变量管理
1. 底层指令概述
Relup 文件由从 .appup 文件生成的底层指令集组成。对于复杂的升级操作,可以使用底层指令编写文件,也可以手动编辑生成的文件。以下是常见的底层指令:
| 指令 | 描述 |
| — | — |
| {load_object_code, {Application, Vsn, ModuleList}} | 从 Application 的 ebin 目录读取所有模块,但不将它们加载到运行时系统。该指令在暂停行为和特殊进程之前执行,与高级指令 load 不同,后者不仅加载模块,还使其在运行时可用。 |
| point_of_no_return | 该指令应在 relup 脚本中出现一次,并且应放置在系统在执行 relup 文件中的一个或多个指令失败后无法恢复的位置。在此指令之后发生的崩溃将导致系统重启旧版本。通常放置在 load_object_code 指令之后。 |
| {load, {Module, PrePurge, PostPurge}} | 使使用 load_object_code 加载的模块成为当前版本。 PrePurge 和 PostPurge 可以设置为 soft_purge
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



