【Jenkins】Jenkins nohup执行失败

在使用Jenkins进行构建过程中,对于脚本中的nohup命令没有响应。

问题描述

当使用Jenkins调用脚本时,脚本中其它命令比如mv/cp等命令均可以正常执行,但是nohup命令没有任何响应,对于同样的脚本,在Linux本地使用root账号执行时,则可以正常执行。

原因分析

结合官方文档以及众多资料可知,Jenkins的nohup是伪后台命令,当当前Pipline中的任务执行完成后,nohup命令执行的内容也会随即退出,为了防止nohup命令退出,可以设置环境变量JENKINS_NODE_COOKIE=dontKillMe

具体使用方式如下:

# 使用方法一
sh '''#!/bin/bashexport JENKINS_NODE_COOKIE=dontKillMe# 应用重启echo "重启${project_name},端口${project_port}"# 根路径basePath=/data/datalogPath=$basePath/logs/${project_name}_log.logpidPath=$basePath/pid/${project_name}.pid# appPort=8083appName=${project_name}.jarecho "1. 根据端口号kill进程$appName"pid=$(netstat -nlp | grep :${project_port} | awk '{print $7}' | awk -F"/" '{ print $1 }');echo "1.1 杀掉对应的进程,如果pid不存在,则不执行"if [  -n  "$pid"  ];  thenkill  -9  $pid;fiecho "睡眠3s,防止停止任务没有完成"sleep 3secho "1.2 移除无效日志文件"rm -rf $logPathrm -rf $pidPathecho "1.3 判断文件是否存在"if [ -f "$basePath/apps/$appName" ]; thenmv $basePath/apps/$appName $basePath/backup/$appName.`date +'%Y%m%d%H%M'`ficp ${WORKSPACE}/${project_name}/build/libs/${project_name}.jar $basePath/apps/$appNameecho "2. 启用进程"nohup /data/data/libs/jdk11/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED  -jar $basePath/apps/$appName  -Dspring.profiles.active=${nacos_group}  --NACOS_GROUP=${nacos_group} --NACOS_SERVER_ADDRESS=${nacos} --SERVICE_NAME=${service_name} > $logPath 2>&1 &echo $! > $pidPath
# 使用方法二
# 注意:经测试,对于存在自定义参数的情况(比如引用时使用:${project_name}) ,无法使用下面的方法,会报错,但是方法一没有问题
pipeline {agent anystages {stage('Start Application') {steps {script {withEnv(['JENKINS_NODE_COOKIE=dontKillMe']) {// 启动应用的命令,这里以 nohup java -jar 为例sh """nohup java -jar your-application.jar &echo "Application started with PID: $!"sleep 3# 可选:检查进程是否仍在运行,确保启动成功ps aux | grep your-application.jar | grep -v grep"""}}}}}post {always {script {// 可选:清理或记录操作,如记录启动的PID等}}}
}

参考文档:https://blog.csdn.net/a772304419/article/details/137957716

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11和WinRAR取消折叠菜单恢复经典菜单

这里写目录标题 前言1. Win11恢复经典右键菜单1.1 修改前1.2 恢复成经典右键菜单1.3 修改后1.4 想恢复怎么办? 2. WinRAR取消折叠菜单恢复经典菜单2.1 修改前2.2 修改恢复为经典菜单2.3 修改后2.4 想恢复怎么办? 前言 最近换回了Windows电脑&#xff0c…

大模型微调之 使用 LLaMA-Factory 微调 Llama3

大模型微调之 使用 LLaMA-Factory 微调 Llama3 使用 LLaMA Factory 微调 Llama-3 中文对话模型 安装 LLaMA Factory 依赖 %cd /content/ %rm -rf LLaMA-Factory !git clone https://github.com/hiyouga/LLaMA-Factory.git %cd LLaMA-Factory %ls !pip install "unsloth…

在Spring Boot应用中实现阿里云短信功能的整合

1.程序员必备程序网站 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 2.导入坐标 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.0</version></dependency><…

pcba方案开发——智能血氧仪解决方案研发设计

智能血氧仪芯片是一种集成化的电子元件&#xff0c;主要用于测量人体血氧浓度。目前市场上的血氧仪芯片具有以下特点&#xff1a; 1.高精度&#xff1a;血氧仪芯片采用专业的光学传感器&#xff0c;能够精确地测量人体血氧浓度。 2.低功耗&#xff1a;血氧仪芯片通过优化电路设…

Redis面试题二(数据存储)

目录 1.redis 的数据过期策略 1. 惰性删除&#xff08;Lazy Expiration&#xff09; 2. 定期删除&#xff08;Periodic Expiration&#xff09; 3. 定时删除&#xff08;Timing-Based Expiration&#xff09; 实际应用中的组合策略 2.redis 有哪些内存淘汰机制 volatile&…

GhostNetV3:探索紧凑模型的训练策略

文章目录 摘要1、引言2、相关工作2.1、紧凑模型2.2、训练CNN的技巧包 3、预备知识4、训练策略4.1、重参数化4.2、知识蒸馏4.3、学习调度4.4、数据增强 5、实验结果5.1、重参数化5.2、知识蒸馏5.3、学习策略5.4、数据增强5.5、与其他紧凑模型的比较5.6、扩展到目标检测 6、结论 …

Vue的SetUp函数

在Vue 3中&#xff0c;引入了一个名为 setup 的新函数&#xff0c;它是使用组合式API时的一个主要功能。setup 函数是组件的入口点&#xff0c;它在组件创建之前执行&#xff0c;允许你定义组件的响应式状态、计算属性、侦听器和其他函数。这标志着Vue对于更具函数风格编程的支…

redis和mysql数据一致性方案

请求 A 更新数据 请求B读数据 在高并发情况下&#xff0c;A、B请求过程步骤相互穿插&#xff0c;就会出现图中的问题。 期望redis 的数据是11&#xff0c;最后变成了10 场景&#xff1a;先删除Redis&#xff0c;再更新 MySQL&#xff0c;不主动更新Redis&#xff0c;访问redi…

#ESP32S3R8N8建立工程(VSCODE)

1.参考文档 【立创ESP32S3R8N8】IDF入门手册 - 飞书云文档 (feishu.cn)https://lceda001.feishu.cn/wiki/GOIlwwfbIi1SC3k8594cDeFVn8g 2.建立工程 3.运行效果

2024年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年G2电站锅炉司炉证考试题库及G2电站锅炉司炉试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大纲…

No system certificates available. Try installing ca-certificates.

一、错误重现 Certificate verification failed: The certificate is NOT trusted. No system certificates available. Try installing ca-certificates. 具体如图 系统环境是ubuntu:22.04 ARM架构 二、解决方法 1、先不要更换镜像源 直接设置 apt update apt -y instal…

php curl_init proxy type

PHP的curl库提供了多种代理类型供选择。在使用curl库时&#xff0c;您可以设置代理类型&#xff0c;以便curl可以使用不同类型的代理来发出请求。 以下是curl支持的代理类型列表&#xff1a; HTTP代理&#xff08;CURLOPT_PROXYTYPE > CURLPROXY_HTTP&#xff09;&#xf…

创新实训2024.04.24日志:RAG技术初探

1. 什么是RAG技术 RAG is short for Retrieval Augmented Generation。结合了检索模型和生成模型的能力&#xff0c;以提高文本生成任务的性能。具体来说&#xff0c;RAG技术允许大型语言模型&#xff08;Large Language Model, LLM&#xff09;在生成回答时&#xff0c;不仅依…

JAVA线程操作代码参考

JAVA线程操作代码参考 售票窗口01售票窗口02说明售票窗口01 package xin.week2.day1;//多进程;每个窗口100张,同时进行售卖class maipiao{public static void main(String[] args) {Window w1=new Window();Window w2=new Window();Window w3=new Window();w1.setName("…

13. Spring AOP(一)思想及使用

1. 什么是Spring AOP AOP的全称是Aspect Oriented Programming&#xff0c;也就是面向切面编程&#xff0c;是一种思想。它是针对OOP(面向对象编程)的一种补充&#xff0c;是对某一类事情的集中处理。比如一个博客网站的登陆验证功能&#xff0c;在用户进行新增、编辑、删除博…

博客摘录「 Redis为什么变慢了?Redis性能问题排查详述」2024年4月25日

“你需要对 Redis 进行基准性能测试&#xff0c;了解你的 Redis 在生产环境服务器上的基准性能“Redis为什么变慢了&#xff1f;Redis性能问题排查详述-CSDN博客 各个中间件的性能基准怎么摸透&#xff0c;如何实施落地是一门课程

算法设计优化——有序向量二分查找算法与Fibonacci查找算法

文章目录 0.概述1.语义定义2. 二分查找&#xff08;版本A&#xff09;2.1 原理2.2 实现2.3 复杂度2.4 查找长度 3.Fibonacci查找3.1 改进思路3.2 黄金分割3.3 实现3.4 复杂度分析3.5 平均查找长度 4. 二分查找&#xff08;版本B&#xff09;4.1 改进思路4.2 实现4.3 性能4.4 进…

单个数据源与多数据源使用mybatisplus分页插件total一直为0的解决办法

1. 注册分页插件&#xff08;不注册分页插件total也是0&#xff09;&#xff1a; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inne…

YOLOv8常见水果识别检测系统(yolov8模型,从图像、视频和摄像头三种路径识别检测)

1.效果视频&#xff08;常见水果识别&#xff08;yolov8模型&#xff0c;从图像、视频和摄像头三种路径识别检测&#xff09;_哔哩哔哩_bilibili&#xff09; 资源包含可视化的水果识别检测系统&#xff0c;可识别图片和视频当中出现的六类常见的水果&#xff0c;包括&#xf…

【redis】非关系型数据库——Redis介绍与安装(windows环境)

目录 数据库架构的演化单体架构缓存(Memcached)MySQL集群缓存(Memcached可以)MySQL集群垂直拆分&#xff08;主从复制&#xff0c;读写分离&#xff09;缓存(Redis)MySQL集群垂直拆分分库分表 NoSQLNoSQL产生的背景性能需求MySQL的扩展性瓶颈方面什么是NoSQLNoSQL的特点主流的N…