Shutdown Check

搜索文档

查找页面或章节

SC101:服务在就绪前退出

SC101(服务在就绪前退出)表示就绪检查通过之前,你的命令崩溃、退出或没能启动。先看 stderr,再修正启动命令。

SC101 表示服务在就绪检查通过之前就退出了,或者根本没能启动。检查没有发起测试请求,也没有发送 SIGTERM。

诊断码SC101 FAIL
阶段启动与进行中的工作
CLI 退出码1
含义就绪检查路由响应之前,启动的进程已经退出,或者没能启动。
输出信息
  • Service exited before becoming ready: <error>
  • Service exited before becoming ready
首先检查查看捕获的 stderr:可能是缺少构建产物、command 中的路径错误、缺少环境变量,或者启动时崩溃。

去哪里找原因?

先看输出末尾的 Service stderr。常见的报错有:缺少构建产物、环境变量无效、语法错误,或者地址已被占用。

另外检查:

  • command 指向的可执行文件和入口文件确实存在。
  • cwd 是命令需要的目录。
  • 测试前已经构建好应用。
  • env 中包含所有必需的环境变量。
  • 进程没有转到后台运行,导致启动器先退出。

优先使用直接的命令,例如 ["node", "dist/server.js"]。包管理器脚本和 shell 包装进程可能掩盖真实的退出,也可能不转发信号。

如果进程一直存活,却始终没有就绪怎么办?

这种情况对应 SC100。检查配置的 URL、就绪检查路径、预期状态码和启动超时。

如何确认已修复?

在配置的 cwd 下运行配置的命令,确认进程能持续运行。然后运行 shutdown-check,确认 process launched 和 service ready 都出现了。

如果命令在你的 shell 里能运行,在测试中却不行,对比两边的环境变量和相对路径。shutdown-check 直接启动可执行文件,所以不会加载 shell 别名或 shell 启动文件。