Agent Skills
返回列表
跨平台自启动服务管理器

跨平台自启动服务管理器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8add3940/universal-autostart。

技能介绍

要解决什么问题

在 Windows 或 macOS 上把 Python、Node、二进制或 Shell 脚本当成长期运行的后台服务时,常见痛点是:系统自带的自启动机制各有一套(sc/schtasks vs launchd),崩溃后没人拉起,日志散落控制台,Web 服务挂了却进程还在。

Universal AutoStart 把「安装为系统服务 + 运行期看护」收敛到一套 JSON 配置和少量 CLI/脚本入口,面向本机运维场景而不是容器编排。

它如何工作

  • 跨平台后端:Windows 走 sc 与计划任务;macOS 走 launchd。支持 install / uninstall / start / stop / status 等命令行操作,也可用 install.bat、install_macos.sh 等脚本双击安装。
  • 进程与类型:program.type 支持 python、node、binary、shell,通过 path、arguments、working_dir 描述启动方式。
  • 环境与日志:可开启 environment.load_dotenv 加载 .env,variables 会覆盖同名键。日志默认写入 .logs/UniversalService_YYYY-MM-DD.log,支持按大小轮转、级别与是否输出到控制台。
  • 健康检查与重启:port 或 process 两种检查;连续失败达到阈值可触发 auto_restart,并可用 max_restarts、restart_delay 限制重启频率,避免死循环。
  • 信号:支持 SIGTERM/SIGINT 的优雅退出路径。

适用边界与注意点

  • 当前文档明确支持 Windows 与 macOS;Linux 不在 v1.1 能力范围内。
  • 安装/卸载通常需要管理员权限;权限不足时 Windows 与 macOS 的排查路径不同,应先查日志再改健康检查间隔或 max_failures,避免「检查过严导致频繁重启」。
  • Python 等解释器若不在 PATH 中,需在配置里写完整可执行路径,否则服务会表现为「已安装但未真正启动」。

使用场景

  • 在 Windows 本机部署 QwenPaw 或自研 Python 网关,需要注册为系统服务并在 8765 端口异常时自动拉起
  • macOS 上用 Node 跑常驻 API,希望通过 launchd 开机自启并定期用进程检查确认子进程未僵死
  • 把二进制监控程序装进 schtasks/计划任务体系,崩溃后按 max_restarts 限次重启并写入轮转日志
  • Shell 包装脚本启动多步骤批处理,需要加载项目根目录 .env 并在 SIGTERM 时优雅退出

适合人员

  • 在本机维护 Windows 服务与计划任务、要把 Python/Node 进程做成可监控后台的运维工程师
  • 在 macOS 开发机上常驻本地 Web 或代理服务、需要 launchd 自启与端口健康检查的独立开发者
  • 维护 Gitee 上 universal-autostart 配置、要为团队统一 service_config.json 标准的内部工具维护者
  • 负责 QwenPaw 或同类桌面助手部署、需要 qwenpaw_service_config.json 与日志轮转策略的实施人员