进程启动配置文件
以某应用进程启动为例,详细的进程启动配置内容如下,其中各参数项的含义请参考表1。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | test_app: bin_path: "/home/test_app" depends: [] uid: 1000 gid: 1000 arguments: ["1", "0", "topic_name", "3", "0", "0", "0", "1", "0","__name:=listener"] env: env1: "xxx1" env2: "xxx2" restart: "on-failure" term_time_out: 10000 is_force_term: false core_affinity: [1,2] res_group_name: "OTHER" nice: -10 sharepool_groups: GroupName_A: alloc # 代表有alloc write read free权限 GroupName_B: rw # 代表有write read free权限 GroupName_C: ro # 代表有read free权限 cpuset: "AICPU/DEV1" # 各owner自定义字段,下面为DataMaster的扩展字段 is_ros_node: true is_auto_boot: false is_reporting: true |
参数类型 |
说明 |
---|---|
test_app |
应用名称,需保证全局唯一,用户可自定义。
|
bin_path |
二进制路径,类型为字符串,需保证是绝对路径,必填项。 |
depends |
应用启动时的依赖项,类型为列表,列表项为字符串,默认值为空。例如depends: ["TestApp1", "TestApp2"],列表项为其他应用的名称,表示启动时需依赖这些应用。 |
uid |
应用uid信息,类型为整形,有效值为无符号整形(≥0的整数),uid为0时代表root,必填项。 |
gid |
应用gid信息,类型为整形,有效值为无符号整形(≥0的整数),gid为0时代表root,必填项。 |
arguments |
应用启动时的参数,类型为列表,列表项为字符串,默认值为空。例如arguments: ["1", "test"]。 |
env |
环境变量信息,默认为空。 |
restart |
当应用退出时是否重启,类型为字符串,有效值为no、on-failure、on-forever、on-until-succeed,默认值为no。
|
term_time_out |
应用被终止时的超时时间,类型为整形,单位是ms,默认值为60000。
|
is_force_term |
当应用结束失败时,是否需要ProcMgr强制应用退出,类型为bool,默认值为false。
|
core_affinity |
应用亲核属性设置,类型为列表,列表项为数字,数字代表核编号,默认值为空。例如core_affinity:[1, 2] : 应用进程绑定在核1、2上。
说明:
如果配置了非CtrlCPU的配置,则进程启动失败。 |
res_group_name |
应用所属资源组名称,类型为字符串,有效值为env.cfg中配置的其中一个,默认为空。 |
nice |
配置APP进程的优先级,范围[-20, 19],默认值为0。 |
sharepool_groups |
共享内存的进程组的权限配置。
说明:
|
cpuset |
配置应用所属的cpuset,类型为字符串,有效值为系统提前创建的cpuset,默认为空。 |
is_ros_node |
应用是否ros节点,类型为bool,默认值为false。如果是ros节点,应用默认通过Hiva Open框架上报运行状态给DataMaster,此时is_reporting的设置不起作用。 |
is_reporting |
应用是否上报运行状态(running)给DataMaster,类型为bool,默认值为false。仅当is_ros_node设为false时,该参数生效。
|
is_auto_boot |
是否随系统启动自启动应用。 |