long-running-process

Installation
SKILL.md

长运行进程安全启动(Windows)

概述

OpenCode shell 在 Windows 上跑 PowerShell,并有可配置超时;超时会 taskkill /T /F 杀命令树。当前执行链通常不能自动降级重试。

核心风险:

  • 无界轮询(while 无上限)→ 命令永不返回 → 被平台杀死
  • 在 OpenCode shell 内用 Start-Process 启长运行进程 → 子进程可能继承 pipe → Node close 不触发
  • WMI 启动的应用是 detached 的:wait-ready 失败或 shell 超时后,app 仍可能存活。无 RunId ownership 时会变成 unmanaged orphan

推荐模型:WMI → ASCII-only cmd launcher(仅含 pwsh/supervisor/config 的 ASCII 路径)→ PowerShell supervisor → ProcessStartInfo.ArgumentList 启应用(AppPid)。用户参数与 Unicode 工作目录只在 UTF-8 JSON config 中。ControlPid 为 cmd 树根。State:%TEMP%\opencode-long-running\<RunId>.json。

范围:Windows(PowerShell 7+)应用进程(dev server、构建、watcher)。浏览器自动化工具进程不在范围。Unix/macOS 不在范围。

与恢复 skill:中断后续派前须证明旧 writer 已停且残留可复用/已停;应用侧 stop/cleanup 由本 skill 脚本完成。

强制规则

Installs
3
GitHub Stars
1
First Seen
Oct 8, 2026