Jenkins——应用篇——如何解决execute shell中启动的进程被在Job退出时被杀死问题

jenkins入门4 --window执行execute shell 如何想要在window使用execute shell 可以下载git,然后设置环境变量。打开“运行”对话框(Win + R),输入services.msc,然后回车。打开“运行”对话框(Win + R),输入services.msc,然后回车。第1个是执行windows命令,第2个是执行linux 的shell脚本。右击“Jenkins”服务,选择“停止”以停止服务。右击“Jenkins”服务,选择“启动”以启动服务。在服务列表中找到“Jenkins”服务。在服务列表中找到“Jenkins”服务。 阅读详情

本文是Jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群:(Jenkins部落:469536515,Jenkins部落-2:141762278)。转载和使用请注明出处。


        在部落内部时不时的会有同学问一为什么在execute shell中不能启动tomcat、为什么在windows batch中不能启动tomcat等问题,其实大部分情况下不是不能启动,而是启动后随着job结束进程被杀死,造成不能启动的假象,这一点从tomcat的日志中可以看来,虽然也给出了解决方法,但没有回答本质问题,利用周末和晚上的时间对这个问题进行探究,并总结下来供大家参考。

       Jenkins为了有效的杀死job运行时创建的子进程,提供了一些原生代码找到并杀死它们,这样做非常合理,当一个job结束时势必要杀死运行期间启动的进程,否则系统里会留下很多僵尸进程。尽管Jenkins声称这个功能在各种环境下做了测试,但为了应付在特殊环境下出现的特殊情况,Jenkins提供了禁用此特性的方法。

       Jenkins的做法虽然非常合理,但也造成了一些问题,如我们希望在execute shell或windows batch中启动的web应用在job结束后继续运行,可以通过两种方法达到这个目录,下面分介绍。

方法一:通过Jenkins提供的启动参数禁用杀死子进程的特性

        Jenkins提供了hudson.util.ProcessTree.disable和hudson.util.ProcessTreeKiller.disable两个属性来控制些特性,值为true将禁用此特性。hudson.util.ProcessTree.disable从Jenkins 1.260开始使用,而使用1.315之

射频总集:(不断更新) 射频每一章涉及到的重点理论/设计方法 CHAPTER 1 传输线理论 输入阻抗Zin,负载阻抗ZL,驻波比ρ,反射系数 CHAPTER 2 波导 矩形波导,圆波导,同轴线 CHAPTER 3 微型带状传输线 微带线的参数设计,带状线的参数设计 CHAPTER 4 ... 阅读详情

相关推荐

Jenkins实践(1):配置在远程服务器上执行shell脚本(两种方式)

Jenkins配置在远程服务器上执行shell脚本(两种方式)

fen_fen的专栏 7719

踩过的坑:jenkins中通过execute shell启动进程会被杀死问题

jenkins中配置自动更新部署项目,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程。需要进行以下配置,才能避免此类情况发生: 1.重设环境变量build_id 在execute s...

Hebe 1万+

Jenkins 执行远程shell :Send files or execute commands over SSH

Jenkins构建(8):Jenkins 执行远程shell :Send files or execute commands over SSH

fen_fen的专栏 1万+

Jenkins中通过execute shell无法启动进程-解决方案合集

一、问题描述 jenkins使用publish over ssh,执行shell,没报错,日志输出成功 23:43:13 SSH: EXEC: completed after 10,225 ms 23:43:13 SSH: Disconnecting configuration [swarm2] ... 23:43:13 SSH: Transferred 1 file(s) 23:43:13 Finished: SUCCESS 但问题就是,在服务器上,该进程没有运行。。很尴尬。在jenkins上发现了问

饰坠之罪的博客 2798

Docker容器停止原理与安全批量终止实践

Docker容器停止并非简单关机,而是基于Linux信号机制(SIGTERM/SIGKILL)的进程协商过程。其核心原理涉及操作系统级信号传递、应用层优雅退出契约、超控制与序管理。技术价值在于保障数据一致性、防止资源泄漏、提升环境可重现性。典型应用场景包括本地开发环境快速重置、CI/CD流水线清理、微服务编排停机及故障复现基线准备。本文深入解析过滤(filter)、信号(signal)与可审计(auditability)三大关键能力,提供从命令行到生产就绪的全链路实践方案。

dianyin7770的博客 414

渗透测试 ( 3 ) --- Metasploit Framework (MSF)

Metasploit专业版和精简版的主要差别在于专业版上面集成了全自动攻击模块,通过远程API集成网络分割测试模块、标准基线审计向导模块、闭环漏洞验证优先处理功能、动态载荷规避防病毒解决方案、钓鱼意识管理和鱼叉式网络钓鱼模块、对OWASP Top 10漏洞的Web应用程序测试模块、高级命令行和Web界面的选择模块。但是,专业版是必须要付费的,所以除非用到非个人的功能,否则没有必要去使用专业版,而且,专业版和精简版的渗透攻击模块是一样的。.........

freeking101的博客 1万+

Jenkins 通过 Execute Shell 执行 shell 脚本

添加 Execute Shell 模块。项目目录下新建 .sh 文件。在 Command 中添加。

lq 1975

【DevOps】jekinsBuild step ‘Execute shell‘ marked build as failure

Build step ‘Execute shell’ marked build as failure Finished: FAILURE 脚本中 加#!/bin/bash 就可以

阿杰 4429

Jenkinsexecute shell正常执行,服务未能正常启动Shell脚本可以正常执行)

一、jenkins执行脚本完成,衍生进程杀死问题 Jenkinsexecute shell正常执行,服务未能正常启动,情况描述如下: 1.Shell脚本在Linux服务器中能正常执行 2.Jenkins中调用脚本正常执行 3.构建完成后服务未能启动 原因: Jenkins会在构建完成后使用processTreeKiller杀掉了所有衍生进程,而且这是Jenkins的默认行为。...

syd505的博客 2299

xxl-job源码阅读笔记

xxl-job源码阅读笔记 文档地址:[http://www.xuxueli.com/xxl-job/#/?id=%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0xxl-job%E3%80%8B](http://www.xuxueli.com/xxl-job/#/?i...

arthur.dy.lee的专栏 1174

jenkins execute shell不执行_Jenkins 后台Getshsell Jenkins漏洞复现系列(完结)

一、漏洞简介:Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。漏洞原因:jenkins 未设置帐号密码,或者使用了弱帐号密码二、漏洞复现:访问:target/manage,如果有未授权的话就直接可以进入如下界...

weixin_35832025的博客 1734

jenkins windows系统自动杀死衍生进程

Jenkins 自动杀死衍生进程

技术博客共享 2282

jenkins解决构建完成后自动杀死进程问题(三种解决方案)

jenkins 调用远程服务器shell 脚本 , nohup java 后台程序包无法启动

生生的博客 1848

解决jenkins脚本启动项目后进程杀死

问题原因:shell脚本运行会产生进程,而jenkins默认会自动终止产生进程

jieyongquan的博客 1202

winserver Jenkins启动tomcat进程杀死

winserver jenkins启动tomcat进程杀死 jenkins在构建完成之后,会杀死相关的子进程,也就是说maven自动构建完,开启tomcat后断开连接的候,会连带着把tomcat的进程杀死。在Linux上sh加参数DONTKILLME即可,win上无效。所以我们得借助一个过渡的方法去开启tomcat,保证tomcat的进程不属于Jenkins构建操作的子进程。我这里给出的方案是采用Windows下的任务计划来过渡。

bbq烤鸡的后宫 732

JenKins在windows部署项目,启动后会关闭上一个启动的程序解决方法

12312312

qq_33916344的博客 697

解决Jenkins启动jar包后,进程杀死(windows下spring boot项目)

问题原因: 为了可靠地杀死在构建过程中由作业产生的进程Jenkins包含了一些本机代码来列出并杀死此类进程。已在多种平台和体系结构上对此进行了测试,但是如果您因此而遇到了显示停止问题,则可以通过将名为“ hudson.util.ProcessTree.disable”的Java属性设置为值“ true”来禁用此功能。 官方解释网址:https://wiki.jenkins.io/displa...

liuqinen的博客 4772

一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值!

信号插值在数字信号处理中经常被使用,但“插值”背后究竟发生了什么,却常被忽略。插0、插原值、线性插值看似只是不同的实现方式,实则对应着完全不同的频域效应与滤波特性。本文将结合公式与MATLAB仿真,深入剖析插0、插原值与线性插值三种典型策略的本质区别。

m0_66360845的博客 877

python训练的代码

python 关于信道结构结合深度学习训练的代码,很值得学习。

上一篇: 使用Maven的一些小建议,希望你能喜欢
下一篇: Jenkins应用篇—Jenkins+Maven打包静态文件
水猴007
博客等级 码龄18年 36粉丝 20原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值