jenkins 杀掉衍生进程解决办法

今天下午配置好了jenkins,使用的是Jenkins 2.249.1这个版本的,发现jenkins在执行了start.sh后,spring boot项目并没有被启动。
后来进行追踪,发现是jenkins在启动了spring boot之后,又杀掉了它所启动的spring boot项目。
究其原因,是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程。如果想要避免这种情况,有两种办法可以解决:
1.需要在执行start.sh之前,加上BUILD_ID=DONTKILLME。
2.在启动jenkins 的时候禁止jenkins杀死衍生进程
修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。
需要重启jenkins生效
此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死刚启动的应用进程
3.在java启动jar包后面加上-Dhudson.util.ProcessTree.disable=true这个选项
示例

BUILD_ID=dontKillMe nohup java -Dhudson.util.ProcessTree.disable=true -jar \
-Xms128M -Xmx2048M skyfish-shop-api-0.0.1-SNAPSHOT.jar \
--spring.config.location=.................

相关文章

基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenki...
本节是建立在流水线入门内容的基础上,而且,应当被当作一个...
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇...
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是...
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持...
 下载文档https://www.jenkins.io/zh/download/  Debian下...