守护进程管理
Daemon Process Management
跨平台守护进程管理,支持launchd/systemd/schtasks三大平台服务注册
子问题
1.平台服务文件生成
2.服务安装卸载
3.环境变量注入
4.服务健康审计
5.遗留品牌服务自动发现与清理
6.版本管理器路径污染检测与最小化 PATH
7.systemd linger 持久化与 WSL2 兼容
8.Profile 驱动的多实例服务隔离
9.运行时二进制版本兼容性验证
各项目的解法1 solutions
Signals
横向对比
| 维度 | OpenClaw |
|---|---|
| 平台覆盖 | macOS launchd + Linux systemd + Windows schtasks 三平台原生 |
| 接口抽象 | GatewayService 策略模式统一接口,工厂函数按 process.platform 分发 |
| 服务文件生成 | plist XML / systemd unit INI / cmd 脚本,三套原生格式生成器 |
| 环境隔离 | buildMinimalServicePath 最小化 PATH + buildServiceEnvironment 显式变量注入 |
| 审计能力 | 16 种审计代码覆盖运行时/PATH/token/平台配置,分 recommended/aggressive 级别 |
| 遗留兼容 | 自动发现并清理 clawdbot/moltbot 等历史品牌的遗留服务 |
| 多实例支持 | OPENCLAW_PROFILE 驱动服务标签/单元名/任务名的多实例隔离 |
最佳实践
1.平台原生服务管理
2.自动检测运行时路径
3.服务审计与诊断
4.策略模式统一接口消除平台条件分支
5.守护进程 PATH 不继承用户 shell 完整 PATH
6.launchd bootstrap 前先 enable 清除 disabled 状态
7.systemd KillMode=process 避免子进程阻塞关闭
8.审计代码分 recommended/aggressive 两级严重度