Shutdown Check

搜索文档

查找页面或章节

SC114:第二次 SIGTERM 无法送达

SC114(第二次 SIGTERM 无法送达)表示 repeatSignalAfterMs 触发时,工作已经结束。调低这个延迟,或者让测试请求运行得更久。

SC114 表示原来的测试请求还在进行时,shutdown-check 没能发出第二次 SIGTERM。要么是进程或请求先结束了,要么是操作系统拒绝了这个信号。

诊断码SC114 FAIL
阶段启动与进行中的工作
CLI 退出码1
含义设置了 repeatSignalAfterMs,但没能在工作仍在进行时发出第二次信号。
输出信息
  • Second SIGTERM could not be delivered while work was still active
首先检查让测试请求运行得比 repeatSignalAfterMs 更久,或者调低这个延迟。

如何修复?

  • 把 repeatSignalAfterMs 设得远小于测试请求的持续时间。
  • 让可控的测试请求持续更久。
  • 保持 repeatSignalAfterMs 小于 shutdown.deadlineMs。
  • 检查第一次信号是否让进程立即退出。
shutdown-check.json
{
  "shutdown": {
    "deadlineMs": 10000,
    "repeatSignalAfterMs": 500
  }
}

重复信号检查是可选的。如果你的进程管理器或运维人员可能多次发送 SIGTERM,就启用它。正确的信号处理函数在收到第二次信号时,不应切断进行中的工作。

如何确认已修复?

通过时,时间线中的 signal repeated — SIGTERM 出现在每个 work request finished 事件之前。之后请求必须正常结束,进程也必须以预期的退出码退出。

如果第二次信号送达了,请求却被中断,结果会变成 SC201。这时应把处理函数改成幂等的,而不是去掉重复信号检查。