背景
在jenkins的job中启动springboot服务,希望job结束后服务一直运行,结果发现job结束后服务总是被kill掉
原因
jenkins为了有效的kill job运行时创建的子进程,避免产生过多的僵尸进程,提供了一些原生代码找到并杀死它们。
解决方案
- jenins启动时通过参数禁用该特性
java
-Dhudson.util.ProcessTree.disable=true
-jar jenkins.war
- 在启动springboot服务之前修改job的BUILD_ID
BUILD_ID=0123
java -jar springboot-app.jar
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。