完美解决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重启了,也不会影响对应的子进程,相关的子进程也不会结束掉

相关推荐
鸠摩智首席音效师3 分钟前
如何在 Docker 容器下运行 cronjob ?
运维·docker·容器
橙露16 分钟前
Kubernetes 集群运维:故障排查、资源调度与高可用配置
运维·容器·kubernetes
天空属于哈夫克319 分钟前
企微API+RPA(机器人流程自动化)高效实战指南
linux·运维·服务器·自动化·企业微信·rpa
自动化控制仿真经验汇总22 分钟前
楼宇自动化智能控制系统-EXP-楼宇智能-多通道
运维·自动化
ICT董老师29 分钟前
通过OpenSSL 生成自签名证书
linux·运维·服务器·https·ssl
是垚不是土32 分钟前
基于OpenTelemetry实现分布式链路追踪
java·运维·分布式·目标跟踪·系统架构
EverydayJoy^v^39 分钟前
RH134简单知识点——第8章——管理存储堆栈
linux·运维·5g
板面华仔42 分钟前
Linux基础(下)——工作中常用命令总结
linux·运维·服务器
千寻技术帮1 小时前
10392_基于SpringBoot的大学迎新系统
mysql·vue·源码·springboot·代码·新生报到
济6171 小时前
linux 系统移植(第十九期)---- BusyBox 构建根文件系统---- Ubuntu20.04
linux·运维·服务器