当前位置: 首页 > 面试题库 >

作业完成后,Jenkins将杀死JBoss服务器

梁丘安晏
2023-03-14
问题内容

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

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

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

我用谷歌搜索并尝试了建议的-Xrs命令,但没有帮助。这是怎么回事


问题答案:

詹金斯有一个称为 进程树杀手的 东西,它将杀死作业创建的所有进程(甚至那些以spawn和fork设置为true开头的进程)。

有一些解决此问题的方法。

  • 禁用进程树杀手

-Dhudson.util.ProcessTreeKiller.disable=true

要么

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

export BUILD_ID=dontKillMe

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



 类似资料:
  • 我想知道如何有效地清理在飞行中创建的akka演员。 要提供一点背景信息: 每个事件创建的演员层次结构。 主管- 在我的应用程序中,主管参与者动态创建其他参与者(在定期事件上)。我想在该事件的处理步骤完成后清理参与者。 所以,一旦处理完成,我想杀死所有的儿童演员。 我在成功完成后以与创建相反的方式传播消息(successfulProcessing)。(1)- 这是主管演员的代码。 这是清理动态创建的

  • 问题内容: 如何杀死linux中最后一个生成的后台任务? 例: 问题答案: bash中有一个特殊的变量: $!扩展为在后台执行的最后一个进程的PID。

  • 问题内容: 不管我做什么,如果没有立即使用其他PID弹出另一个实例,我似乎都无法杀死Redis -我检查以确保自己正在杀死父进程,并且确实如此。有什么建议么??我已经尝试过重启机器。 问题答案: 弄清楚了!原来当我尝试了这样的SO帖子提供的第二个答案的时候,我做了然后跑了,当我实际上应该跑的时候。我不知道为什么这很重要。

  • 我创建了一个带有Spout的Storm拓扑,该Spout会发出许多元组用于基准测试。一旦所有的元组都从spout发出或者拓扑中不再有任何元组流动,我就想停止/终止我的拓扑。

  • 我有一项服务,每天在Kubernetes上部署数千个短期工作。我试图让Kubernetes在完成后使用这里描述的功能删除这些作业: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically 作业完成,但在表示的时间限制之

  • 有些事我不清楚。假设我每天都有随机安排的作业,每个作业需要30分钟才能运行。假设我有五个这样的工作在运行,而Tomcat被杀了。当我用我的应用程序启动Tomcat时,作业是否会重新启动,或者当前正在运行的作业是否会因为已经启动而丢失?