# multiapp **Repository Path**: longwits/multiapp ## Basic Information - **Project Name**: multiapp - **Description**: No description available - **Primary Language**: Dart - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-25 - **Last Updated**: 2023-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # multiapp ## 介绍 同时启动/停止多个程序. ## 用法 multiapp [arguments] -c 指定配置文件路径, 默认当前路径下app.ini -n 指定启动app的数量, 默认为1. -i 启动多个app之间的间隔时间, 单位为毫秒. 默认为0表示无间隔. -d 启动app后多长时间停止app, 单位为秒. 默认=0表示不停止. -l 循环次数, 默认=0, 不循环. 不带任何参数时, 打印用法. ## 配置文件 默认配置文件 app.ini, 在multiapp程序当前目录. ### [app] 段 - copy 表示是否拷贝app程序到独立目录运行, true 表示是. - source 表示app程序路径, 可以是目录/zip/gz压缩包 - path 表示执行程序 - params 表示程序参数 实例: ``` copy=false source=demo path=MockDevice.exe params=-s sip:43020500802008000001@192.168.3.43:5060 -c sip:${did}:123456@192.168.3.43:0 -u demo.ps ``` ### [environment] 段 - key为变量名称, 用于计算app对应的参数, 使用时用 ${} 括起来. 在数组中作为下标时, 不需要括号. - 支持算术表达式计算, 比如: cid=${id} + 10. 算术运算符有 +, -, *, / (浮点除法), ~/ (整数除法), % (取模). - 支持字符串拼接. 变量的值是字符串, 需要用''括起来, 比如: did='abc${id}' - 内建变量 id, index. index 表示APP 序号, 整形, 从0开始. id 表示APP ID, id=index+1, 即从1开始的序列值. 实例: ``` seq=${id} + 100 did='43020500801328000${seq}' url='${data.url[index]}' ``` ### [data.x] 段 - 数据数组, 名称是 data. 开头. key为序号, 从0开始. 用 ${[]} 括起来表示, 比如 ${data.x[0]} 表示第0个值. - 对应序号不存在时, 当作空字符串处理. 实例: ``` [data.url] 0=rtsp://192.168.3.65 1=rtsp://192.168.3.66 2= ``` ### [setting.ini|xml|yaml.filename] 段 - 定制配置文件, key为路径. 支持ini/xml/yaml配置文件. key 用 / 分割路径. - value 可以使用内建/自定义的变量 实例: ``` editor/wrapMargin=68 editor/url=${id} ``` ### [config.filename] 段 - 使用其他程序, 定制配置文件 - path 表示程序路径 - params 表示程序参数, 可以使用 [environment] 中定义的变量和内建变量.