Shutdown Check

搜索文档

查找页面或章节

SC113:SIGTERM 无法送达

SC113(SIGTERM 无法送达)表示操作系统拒绝把信号发送给你的服务进程。本文说明为什么会这样,以及如何让检查正常运行。

SC113 表示测试请求已在进行中,但操作系统没有把 SIGTERM 送达 shutdown-check 启动的进程。这次没有测试到关闭行为。

诊断码SC113 FAIL
阶段启动与进行中的工作
CLI 退出码1
含义操作系统拒绝把 SIGTERM 发送给该进程。
输出信息
  • Could not deliver SIGTERM to the service process
首先检查确认服务与检查以同一个用户身份运行,并且服务还没有退出。

为什么会出现?

检查以同一个用户身份启动进程并向它发送信号,所以这种失败并不常见。通常的原因有:

  • 发送信号的同一时刻,进程正好退出了。
  • 受限的容器或沙箱不允许发送信号。
  • 进程 ID 已经失效。
  • 操作系统出错,信号没能发出。

应该怎么做?

再运行一次测试。如果问题重复出现,改用直接的启动命令,并在普通的 macOS 或 Linux 进程环境中运行检查。查看前面几行时间线,确认进程是不是先退出了。

如果包装进程收到了信号,真正的服务器却没有收到,信号仍然算已送达;这时你会看到 SC301、SC302 或 SC300 这类与退出或端口未关闭相关的诊断码。

如何确认已修复?

下一次运行应该包含 signal sent — SIGTERM。如果之后仍然失败,新的诊断码反映的是服务器的关闭行为,而不是信号投递。

如果只在权限受限的容器中失败,把它的进程和安全设置与本地普通的 Linux 运行环境做对比。