生成启动脚本

在SASL模块 systools 里面有很多可以用来构建和检验发布的工具。函数读取 .rel.app 文件并执行语法和依赖性检查。函数 systools:make_script/1,2 用于生成启动脚本(参见系统原则)。

  1. 1> systools:make_script("ch_rel-1", [local]).
  2. ok

这就创建了一个启动脚本,包括可阅读的版本 ch_rel-1.script 和运行时系统所使用的二进制版本 ch_re-1.boot 。 “ ch_rel-1 ”是 .rel 文件去掉扩展名的名称。 local 是表示在启动脚本中用到的应用所处的目录的一个选项,没有使用 $ROOT/lib 。( $ROOT 是安装了的发布的根目录)对于本地测试生成的启动脚本非常有用。

当使用启动脚本启动Erlang/OTP时, .rel 文件中的所有应用都会被自动加载和启动:

  1. % erl -boot ch_rel-1
  2. Erlang (BEAM) emulator version 5.3
  3.  
  4. Eshell V5.3 (abort with ^G)
  5. 1>
  6. =PROGRESS REPORT==== 13-Jun-2003::12:01:15 ===
  7. supervisor: {local,sasl_safe_sup}
  8. started: [{pid,<0.33.0>},
  9. {name,alarm_handler},
  10. {mfa,{alarm_handler,start_link,[]}},
  11. {restart_type,permanent},
  12. {shutdown,2000},
  13. {child_type,worker}]
  14.  
  15. ...
  16.  
  17. =PROGRESS REPORT==== 13-Jun-2003::12:01:15 ===
  18. application: sasl
  19. started_at: nonode@nohost
  20.  
  21. ...
  22. =PROGRESS REPORT==== 13-Jun-2003::12:01:15 ===
  23. application: ch_app
  24. started_at: nonode@nohost