背景

我有一台Jenkins搭建于Centos 7环境下,今天通过Jenkins 构建时,通过 execute shell 来启动java进程,构建控制台没报错输出都是sucess。 但是Java进程一直没起来。 还提示让我“Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information。

问题定位

如上连接已经更换为:https://wiki.jenkins.io/display/JENKINS/Spawning+processes+from+build 。 通过阅读大体了解原因:Jenkins在构建结束后会把额外启动的进程杀死。 到这里知道原因了,那就看怎么解决了。

解决方案

解决办法其实非常容易,只需要在执行 .sh 文件之前,加上 BUILD_ID=dontKillMe 便可。
例如:

  1. BUILD_ID=dontKillMe
  2. sh ./start.sh