问题域/PD-38

守护进程管理

Daemon Service Management

跨平台守护进程:launchd(macOS)/systemd(Linux)/schtasks(Windows)统一抽象,支持安装/卸载/重启/状态检查

子问题

1.跨平台服务抽象

2.plist/unit文件生成

3.服务状态检测

4.运行时二进制路径解析

5.环境变量传递

6.遗留品牌服务迁移(产品重命名后旧服务残留冲突)

7.launchd GUI domain 限制(SSH/headless 环境无法 bootstrap)

8.systemd KillMode 与容器子进程的交互(conmon 阻塞重启)

各项目的解法1 solutions

Signals

横向对比

维度OpenClaw
平台覆盖macOS launchd + Linux systemd + Windows schtasks 三平台统一接口
服务抽象GatewayService 类型 + resolveGatewayService() 工厂函数路由
配置生成代码生成 plist XML / systemd unit INI / .cmd 批处理,非模板引擎
健康审计13 种审计码覆盖 token 漂移、PATH 污染、运行时兼容性、配置完整性
遗留清理多品牌标记扫描(openclaw/clawdbot/moltbot)+ 自动 bootout/disable
环境隔离最小化 PATH 构建,排除 nvm/fnm/volta 等 8 种版本管理器路径
运行时解析优先当前 Node → 降级系统 Node,检测 Bun 不兼容场景

最佳实践

1.GatewayService统一接口抽象三平台

2.service-audit运行时健康检查

3.launchctl enable 清除持久化 disabled 状态后再 bootstrap

4.最小化 PATH 排除 8 种版本管理器路径防止升级后服务崩溃

5.审计分 recommended/aggressive 两级允许用户选择性修复