Jenkins在Tomcat 中启动,执行Execute Shell 后进程在job 结束时被kill

Jenkins在Tomcat 中启动,执行Execute Shell 后进程在job 结束时被kill

首先看下Jenkins的官方文档, 这里面有介绍

方法1:设置启动参数禁止进程被杀

Jenkins 在1.3.15之前提供了hudson.util.ProcessTreeKiller.disable 属性为true时会禁止杀掉进程

在1.260提供了hudson.util.ProcessTree.disable,为了兼容, 1.404两个属性都可以使用,建议使用hudson.util.ProcessTree.disable (升级后,ProcessTreeKiller 被废弃了),将属性值设为true 而禁止杀掉进程。

直接使用 java -jar启动: java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war

Tomcat 容器启动: 

在Linux上, 修改 catalina.sh 脚本,在脚本开始前添加: JAVA_OPTS="$JAVA_OPTS -Dhudson.util.ProcessTree.disable=true"

Windows,修改catalina.bat 脚本开始前添加 set JAVA_OPTS=%JAVA_OPTS% "-Dhudson.util.ProcessTree.disable=true"

改好了重启Tomcat

方法2: 修改Jenkins的BUILD_ID

在配置页面添加BUILD_ID=DONTKILLME(值随意)

如果自己写脚本:

Linux:

OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=DONTKILLME      // 值随意
/export/project/demo/tomcat/bin/startup.sh    // 要跑的命令脚本路径,最好是绝对路径
BUILD_ID=$OLD_BUILD

Windows:

OLD_BUILD_ID=%BUILD_ID%
echo %OLD_BUILD_ID%
BUILD_ID=DONTKILLME
../project/demo/tomcat/bin/startup.bat          // 命令路径,最好是绝对路径
BUILD_ID=%OLD_BUILD_ID%
echo %BUILD_ID%

如果这些试了, 存在Jenkins服务被kill掉, 请检查自己的Tomcat配置, 看看内存是够够,或者直接在catalina.sh中设置

参考:Tomcat 内存设置

参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值