launch.xml¶
Cyber Launch 通过解析指定的launch.xml文件, 启动和管理各个应用进程. launch.xml 文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<launch enable="true">
<node dir-path="/home/appPath" enable="true" file="test" level="0" mode="sync" name="test" tag="">
<envs enable="true">
<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
</envs>
<params enable="true">
<param value="-help"/>
</params>
<restart enable="true">
<on-exited delay-ms="1000" enable="true"/>
<on-file-changed delay-ms="1000" enable="true">
<file path="/home/appPath/test.properties"/>
</on-file-changed>
</restart>
</node>
</launch>
其中节点定义如下:
launch节点¶
launch节点为launch.xml文件的根节点.
<?xml version="1.0" encoding="UTF-8"?>
<launch enable="true">
<!-- node -->
<!-- node -->
<!-- node -->
</launch>
可设置enable=”false”禁用所有该节点内的程序的启动.
node节点¶
launch节点下可包含多个node节点, 每个节点对应一个应用启动实例.
<node dir-path="/home/appPath" enable="true" file="test" level="0" mode="sync" name="test" tag="">
<envs enable="true">
<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
</envs>
<params enable="true">
<param value="-help"/>
</params>
<restart enable="true">
<on-exited delay-ms="1000" enable="true"/>
<on-file-changed delay-ms="1000" enable="true">
<file path="/home/appPath/test.properties"/>
</on-file-changed>
</restart>
</node>
可设置enable=”false”禁用该节点对应的程序的启动.
节点属性
node节点包含多个属性, 每个属性对应的意义如下:
- dir-path: 可执行程序文件所在路径;
- file: 可执行程序文件名称;
- name: 默认与file相同, 程序启动后, 该程序的名称;
- enable: true/false, 是否启动该程序;
- level: 整数, 默认值为0. 启动优先级, 值越小优先级越高. 优先级越高, 越先启动. 相同优先级情况下, 启动顺序由launch.xml文件中定义顺序决定;
- mode: sync/async, 默认值为sync. 同步启动/异步启动;
- sync 同步启动时, 在claunch程序退出时, 同时结束该节点程序;
- async 异步启动时, 在claunch程序退出时, 不会结束该节点程序;
- tag: 分组名称, 默认值为””, 用于claunch程序根据分组名称, 动态加载该节点程序(暂未实现);
子节点
node节点还可包含多个子节点, 每个子节点对应的意义如下:
- envs: 用于该节点程序启动的环境变量设置;
- params: 启动该节点程序的参数设置;
- restart: 该节点程序的重启策略设置;
envs节点¶
node节点下可包含一个envs节点.
<envs enable="true">
<env name="LD_LIBRARY_PATH" value="$LD_LIBRARY_PATH"/>
</envs>
可设置enable=”false”禁用该节点对应的设置. envs节点下可包含多个env节点, 每个env节点对应一个系统环境变量.
节点属性
env节点必须包含 name 和 value 节点, 对应的意义如下:
- name: 系统环境变量名称;
- value: 系统环境变量的值;
params节点¶
node节点下可包含一个params节点.
<params enable="true">
<param value="--a=1"/>
<param value="-abc"/>
</params>
可设置enable=”false”禁用该节点对应的设置. params节点下可包含多个param节点, 每个param节点对应一个启动参数.
节点属性
param节点必须包含 value 节点, 对应的意义如下:
- value: 启动该节点时传递给该程序的参数值;
restart节点¶
node节点下可包含一个restart节点.
<restart enable="true">
<on-exited delay-ms="1000" enable="true"/>
<on-file-changed delay-ms="1000" enable="true">
<file path="/home/appPath/test.properties"/>
<file path="/home/appPath/params.xml"/>
</on-file-changed>
</restart>
可设置enable=”false”禁用该节点对应的设置.
子节点
restart节点下可包含一个 on-exited 子节点和一个 on-file-changed 子节点. 每个子节点对应的意义如下:
- on-exited: 当该节点程序发生退出时自动重启该节点程序;
- on-file-changed: 当监控的文件发生变化时自动重启该节点程序;
on-exited 节点属性
<on-exited delay-ms="1000" enable="true"/>
on-exited节点可包含的属性对应的意义如下:
- delay-ms: 正整数, 延时重启的时间, 单位为毫秒;
- enable: true/false, 是否启用该设置, 默认值为true;
on-file-changed 节点属性
<on-file-changed delay-ms="1000" enable="true">
<file path="/home/appPath/test.properties"/>
<file path="/home/appPath/params.xml"/>
</on-file-changed>
on-file-changed节点可包含的属性对应的意义如下:
- delay-ms: 正整数, 延时重启的时间, 单位为毫秒;
- enable: true/false, 是否启用该设置, 默认值为true;
on-file-changed 子节点
on-file-changed节点还可包含多个 file 子节点, 子节点对应的意义如下:
<file path="/home/appPath/test.properties"/>
<file path="/home/appPath/params.xml"/>
- file: 需要监控的文件;
- path: file 节点的 path 属性, 指定需要监控的文件路径;