You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins部署时Docker容器返回143退出码但仍运行的原因排查

退出码143(SIGTERM)的常见原因分析

以下是导致你遇到的问题的核心原因:

  • Jenkins构建主动中断
    这是最常见的触发场景:

    • 手动终止Jenkins正在运行的构建任务,Jenkins会向当前执行构建脚本的进程发送SIGTERM信号,导致脚本进程退出并返回码143。
    • Jenkins构建超时阈值设置过短,Serverless部署流程耗时超过设定值,Jenkins自动发送SIGTERM终止进程。
  • 主机资源不足触发系统干预
    如果Jenkins所在主机出现CPU、内存资源耗尽的情况,系统的资源管理进程(如OOM Killer)会向高资源占用进程发送SIGTERM尝试回收资源,若Jenkins构建进程被选中,就会出现该退出码。

  • 信号未传递到容器内子进程
    你的docker run命令用sh -c '...'包裹了Serverless部署命令,sh进程作为容器的PID 1,默认不会转发SIGTERM信号给内部的npx sls子进程。当Jenkins的脚本进程收到SIGTERM退出后,容器内的sh进程和子进程因未收到终止信号,会继续运行,导致容器仍处于活跃状态。


你提供的部署日志:

+ docker run --name planning_31_deploy_prod --rm fd1c9016 sh -c 'npx sls config credentials --stage prod --provider aws --profile prod --key **** --secret **** && npx sls deploy --force --stage prod --region us-west-2 --aws-profile prod'
Sending interrupt signal to process
Serverless: Setting up AWS...
...
script returned exit code 143

内容的提问来源于stack exchange,提问作者Roman Newaza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:50:27