SC101 表示服务在就绪检查通过之前就退出了,或者根本没能启动。检查没有发起测试请求,也没有发送 SIGTERM。
| 诊断码 | SC101 FAIL |
|---|---|
| 阶段 | 启动与进行中的工作 |
| CLI 退出码 | 1 |
| 含义 | 就绪检查路由响应之前,启动的进程已经退出,或者没能启动。 |
| 输出信息 |
|
| 首先检查 | 查看捕获的 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 启动文件。