完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题

完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题

本文中使用的Jenkins版本为Version 2.452.3

先罗列一下前置问题:Jenkins任务构建完成自动杀掉衍生进程

用过Jenkins的都知道,Jenkins任务构建完成后,是会自动杀掉衍生进程,这是为了释放系统资源和确保任务执行的可靠性和安全性,当在本机执行一些任务进程的时候,需要的是部署完成之后不能结束掉进程的(常见的是Java项目),网上针对这个问题的解决方案大致是这几种:

  • 加参数
    比如:BUILD_ID=dontKillMe,JENKINS_SERVER_COOKIE=dontKillMe, JENKINS_NODE_COOKIE=dontKillMe等等之类的,代码示例:

    BUILD_ID=dontKillMe nohup java -jar xxx.jar >log.out 2>&1 &

  • 添加全局属性

  • 修改Jenkins启动配置
    直接修改Jenkins 的service文件,/lib/systemd/system/jenkins.service,在Environment参数中增加参数-Dhudson.util.ProcessTree.disable=true,这种就是不需要在每个任务的shell中添加BUILD_ID这类参数

上面这几种方法是解决一次构建之后不杀衍生进程的方法,但是!!如果Jenkins重启了,那么之前所有构建部署的进程全部都会被自动杀掉了

解决方法就是 使用SSH执行部署,即在本机上也同样使用SSH来进行部署,跟部署到远程服务器一样,这样即使本机上Jenkins重启了,也不会影响对应的子进程,相关的子进程也不会结束掉

相关推荐
goodlook01235 分钟前
docker 安装运行mysql8.4.4
运维·docker·容器
运维行者_7 分钟前
Azure数据库监控:如何在2025年选择合适的工具
运维·服务器·网络·数据库·flask·自动化·azure
dbkx_298 分钟前
个人自用debian启动
linux·运维·debian
IT coke5 小时前
centos7部署AWStats日志分析系统
linux·运维·centos
雾岛心情5 小时前
【黑客与安全】Linux的常用命令之系统架构信息获取系列命令
linux·运维·服务器
杯莫停丶6 小时前
Linux基础指令大全
linux·运维·chrome
Gold Steps.7 小时前
JumpServer:解锁运维安全的数字 “钥匙”
运维·安全·jumpserver
卫生纸不够用7 小时前
(三)Linux性能优化-CPU-CPU 使用率
linux·运维·服务器
网安INF7 小时前
CVE-2024-23897源码分析与漏洞复现(Jenkins 任意文件读取)
java·web安全·网络安全·jenkins·漏洞
wanhengidc8 小时前
高防服务器中高防和硬防之间的区别
运维·服务器·网络