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

在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,

但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认

会在Build结束后Kill掉所有的衍生进程。需要进行以下配置,才能避免此类情况发生:

  1.重设环境变量build_id

  在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的tomcat进程

  

 

  2.在启动jenkins 的时候禁止jenkins杀死衍生进程

    修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。

    需要重启jenkins生效

    此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死启动的tomcat进程

原文地址:https://www.cnblogs.com/rongfengliang/p/7805977.html