Process leaked file descriptors error on JENKINS

情到浓时终转凉″ 提交于 2019-11-27 13:56:46
lu_ko

Yes, creating fake BUILD_ID for process tells Jenkins to ignore this process during detection spawned processes, so this process will be not killed after finishing job.

Usage: Enter BUILD_ID=dontKillMe before your command, for example into Execute shell build step:

 BUILD_ID=dontKillMe nohup ./yourStartScript.sh &

Note: See also nohup

Add this line as a JAVA_ARGS argument when you start your jenkins server (I put mine on /etc/default/jenkins in my Ubuntu box)

-Dhudson.util.ProcessTree.disable=true

And you're done

By default, Jenkins will kill all the spawned process at the completion of build.

To override this, you need to create environment variable BUILD_ID.

Go to Jenkins-->Manage Jenkins-->Configure System Now under 'Global properties' section, under Environment variables, click on ADD button to add new Environment variable. Give Name= BUILD_ID and value='allow_to_run_as_daemon start_my_service' (without quote). Click on save button. And you are done.

Now the spawn process will continue to execute even after the build got completed.

You are calling a command from Jenkins that spawns another process -
the tomcat-start command ends, but its child-process is still running
(this is the actual tomcat web-server you attempted to start).

Jenkins sometimes identifies this situation as a possible problem,
but the page you have mentioned also explains how to solve it
(in short: Don't start tomcat from Jenkins unless you know how).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!