QNX SLM (System Launch and Monitor) 使用指南适用版本: QNX 8.0文档来源: QNX Neutrino RTOS 官方文档用途: 系统启动顺序管理、多进程生命周期监控、故障恢复目录SLM 概述命令行语法XML 配置文件参考启动脚本 (Boot Scripts)运行模式与恢复策略终止场景分类配置示例与 OS Builder 集成1. SLM 概述SLM(System Launch and Monitor) 是 QNX Neutrino 的系统启动与监视管理器,负责:按依赖顺序启动多进程应用监控进程运行状态故障时自动恢复指定组件管理系统关机顺序SLM 从 XML 配置文件构建一个DAG(有向无环图),根据组件间的依赖关系确定启动顺序。SLM 提供启动阶段的系统引导功能,在 startup 和内核初始化完成后接管系统启动流程。1.1 启动阶段定位SLM 在系统启动序列中的位置:QNX 启动顺序: IPL(ROM) → startup → 内核初始化 → procnto → slm → 其他系统组件 │ ├─ io-sock (网络) ├─ io-usb (USB) └─ 其他应用进程1.2 SLM 服务模式SLM 通常以两种方式工作:模式启动方式使用场景Startup Managerboot 脚本直接启动系统级启动流程管理Post-startup Managerslmctl 触发用户级/应用级进程管理在 boot 脚本中,SLM 作为startup_manager运行,是系统启动阶段的默认进程管理器。2. 命令行语法2.1 基本语法slm [-avV] [-b seconds] [-D debug_mode] [-n subsystem_path] [-p priority] [-P search_path] [-r recovery_mode] [-R frequency/sec|min|hour] [-s comp_name] [-t polling_interval] [-T total_wait] [-x comp_name] config_file2.2 选项说明选项说明-a启动所有顶级组件,即使未启用或缺少依赖-b seconds启动 seqno 启动前等待的秒数(默认 0)-D debug_mode调试模式:debug、verbose、verbose_exit-n subsystem_path用于 slmctl 通信的路径前缀-p prioritySLM 进程优先级-P search_path搜索路径,覆盖SLM_SEARCH_PATH环境变量-r recovery_mode恢复模式:none、restart(默认restart)-R frequency每个组件每分钟/小时的恢复最大次数-s comp_name仅启动指定组件,跳过依赖关系-t polling_interval轮询间隔(秒),用于 waitfor 轮询-T total_wait总的等待时间(秒),超时后仍继续-v详细输出-V更详细的输出-x comp_name排除指定组件config_fileXML 配置文件路径2.3 辅助工具工具说明slmctlSLM 运行时控制工具,用于启动/停止组件、查询状态waitfor等待组件/路径/条件满足的同步工具slmctl支持以下操作:slmctl start comp— 启动指定组件slmctl stop comp— 停止指定组件slmctl status [comp]— 查询组件状态3. XML 配置文件参考3.1 根元素SLM:systemxmlns:SLM="http://www.qnx.com/slm".../SLM:system3.2 完整元素参考元素父元素说明abilitycomponent组件能力声明argscomponent命令行参数cdcomponent工作目录commandcomponent启动命令路径,支持launch属性componentsystem,module,depend基本组件单元debugcomponent调试选项dependcomponent依赖声明,支持type属性envvarcomponent环境变量设置groupscomponent组件所属组membermodule模块成员引用modulesystem模块定义(组件组)prioritycomponent进程优先级repaircomponent修复操作(重启/命令)rlimitcomponent资源限制runmaskcomponentCPU 亲和性掩码stderrcomponent标准错误重定向stdincomponent标准输入重定向stdoutcomponent标准输出重定向stopcomponent停止命令/信号ttycomponent终端设备typecomponent进程类型usercomponent运行用户waitforcomponent启动条件等待,支持wait属性module(boot)SLM:system(boot)引导模块3.3 元素详解component基本执行单元定义:SLM:component default="enable|disable"!-- 默认启用/禁用 --launch="critical|builtin|session|pathname"!-- 启动类型 --host="true|false"!-- 是否为宿主组件 --/SLM:component属性说明:属性值说明name字符串组件唯一名称defaultenable/disable默认是否启用launchcritical关键组件builtin内建命令(见 7.4 节)session会话启动pathname路径名启动hosttrue/false宿主组件command定义要执行的命令:SLM:commandlaunch="critical|builtin|pathname|session"/path/to/command/SLM:command
QNX SLM (System Launch and Monitor) 使用指南
发布时间:2026/6/12 7:55:32
QNX SLM (System Launch and Monitor) 使用指南适用版本: QNX 8.0文档来源: QNX Neutrino RTOS 官方文档用途: 系统启动顺序管理、多进程生命周期监控、故障恢复目录SLM 概述命令行语法XML 配置文件参考启动脚本 (Boot Scripts)运行模式与恢复策略终止场景分类配置示例与 OS Builder 集成1. SLM 概述SLM(System Launch and Monitor) 是 QNX Neutrino 的系统启动与监视管理器,负责:按依赖顺序启动多进程应用监控进程运行状态故障时自动恢复指定组件管理系统关机顺序SLM 从 XML 配置文件构建一个DAG(有向无环图),根据组件间的依赖关系确定启动顺序。SLM 提供启动阶段的系统引导功能,在 startup 和内核初始化完成后接管系统启动流程。1.1 启动阶段定位SLM 在系统启动序列中的位置:QNX 启动顺序: IPL(ROM) → startup → 内核初始化 → procnto → slm → 其他系统组件 │ ├─ io-sock (网络) ├─ io-usb (USB) └─ 其他应用进程1.2 SLM 服务模式SLM 通常以两种方式工作:模式启动方式使用场景Startup Managerboot 脚本直接启动系统级启动流程管理Post-startup Managerslmctl 触发用户级/应用级进程管理在 boot 脚本中,SLM 作为startup_manager运行,是系统启动阶段的默认进程管理器。2. 命令行语法2.1 基本语法slm [-avV] [-b seconds] [-D debug_mode] [-n subsystem_path] [-p priority] [-P search_path] [-r recovery_mode] [-R frequency/sec|min|hour] [-s comp_name] [-t polling_interval] [-T total_wait] [-x comp_name] config_file2.2 选项说明选项说明-a启动所有顶级组件,即使未启用或缺少依赖-b seconds启动 seqno 启动前等待的秒数(默认 0)-D debug_mode调试模式:debug、verbose、verbose_exit-n subsystem_path用于 slmctl 通信的路径前缀-p prioritySLM 进程优先级-P search_path搜索路径,覆盖SLM_SEARCH_PATH环境变量-r recovery_mode恢复模式:none、restart(默认restart)-R frequency每个组件每分钟/小时的恢复最大次数-s comp_name仅启动指定组件,跳过依赖关系-t polling_interval轮询间隔(秒),用于 waitfor 轮询-T total_wait总的等待时间(秒),超时后仍继续-v详细输出-V更详细的输出-x comp_name排除指定组件config_fileXML 配置文件路径2.3 辅助工具工具说明slmctlSLM 运行时控制工具,用于启动/停止组件、查询状态waitfor等待组件/路径/条件满足的同步工具slmctl支持以下操作:slmctl start comp— 启动指定组件slmctl stop comp— 停止指定组件slmctl status [comp]— 查询组件状态3. XML 配置文件参考3.1 根元素SLM:systemxmlns:SLM="http://www.qnx.com/slm".../SLM:system3.2 完整元素参考元素父元素说明abilitycomponent组件能力声明argscomponent命令行参数cdcomponent工作目录commandcomponent启动命令路径,支持launch属性componentsystem,module,depend基本组件单元debugcomponent调试选项dependcomponent依赖声明,支持type属性envvarcomponent环境变量设置groupscomponent组件所属组membermodule模块成员引用modulesystem模块定义(组件组)prioritycomponent进程优先级repaircomponent修复操作(重启/命令)rlimitcomponent资源限制runmaskcomponentCPU 亲和性掩码stderrcomponent标准错误重定向stdincomponent标准输入重定向stdoutcomponent标准输出重定向stopcomponent停止命令/信号ttycomponent终端设备typecomponent进程类型usercomponent运行用户waitforcomponent启动条件等待,支持wait属性module(boot)SLM:system(boot)引导模块3.3 元素详解component基本执行单元定义:SLM:component default="enable|disable"!-- 默认启用/禁用 --launch="critical|builtin|session|pathname"!-- 启动类型 --host="true|false"!-- 是否为宿主组件 --/SLM:component属性说明:属性值说明name字符串组件唯一名称defaultenable/disable默认是否启用launchcritical关键组件builtin内建命令(见 7.4 节)session会话启动pathname路径名启动hosttrue/false宿主组件command定义要执行的命令:SLM:commandlaunch="critical|builtin|pathname|session"/path/to/command/SLM:command