6

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

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

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

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

4

2 回答 2

11

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

此行为有一些解决方法。

  • 禁用进程树杀手

    -Dhudson.util.ProcessTreeKiller.disable=true

或者

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

    export BUILD_ID=dontKillMe

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

于 2013-01-29T14:34:04.240 回答
1

来源(评论)建议其他环境变量,显然适用于旧版本的 Jenkins。对我来说,在我开始使用 JENKINS(_SERVER)_COOKIE 之前它不起作用。

于 2013-12-12T09:20:04.340 回答