当工作完成时,Jenkins会杀死JBoss服务器

时间:2013-01-29 14:13:27

标签: jboss jenkins

我使用Ant通过Jenkins启动/关闭JBoss 5服务器。 Ant java spawn和fork设置为“true”,因此命令在后台执行。

Jenkins成功启动服务器,等待两分钟(Jenkins中的“睡眠”命令),然后在睡眠之后出于某种奇怪的原因关闭服务器。 sleep命令是构建作业的最后一步。关机说:

2013-01-29 17:03:39,332 INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] Runtime     shutdown hook called, forceHalt: true

我用谷歌搜索并尝试了建议的-Xrs命令,但它没有帮助。这里发生了什么?

2 个答案:

答案 0 :(得分:11)

詹金斯有一些叫做进程树杀手的东西会杀死作业创建的所有进程(即使是那些以spawn和fork设置为true的进程)。

这种行为有一些解决方法。

  • 禁用进程树杀手

    -Dhudson.util.ProcessTreeKiller.disable=true

  • 设置环境。 JBOSS过程中的var BUILD_ID = dontKillMe。

    export BUILD_ID=dontKillMe

您可以浏览ProcessTreeKill wiki文章或jenkins JIRA,找到解决此问题的各种解决方法。

答案 1 :(得分:1)

This source(comments)建议其他环境变量,显然是旧版本的Jenkins。对我来说,在我开始使用JENKINS(_SERVER)_COOKIE之前它没有用。