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

如何在Jenkins上停止无法阻止的僵尸作业而无需重新启动服务器?

方绪
2023-03-14
问题内容

我们的Jenkins服务器有一项已经运行了三天的工作,但是什么也没做。单击角落的小X不会执行任何操作,并且控制台输出日志也不会显示任何内容。我已经检查了我们的构建服务器,该工作实际上似乎根本没有运行。

有没有办法通过编辑某些文件或锁或其他内容来告诉jenkins该工作已“完成”?由于我们有很多工作,因此我们实际上并不想重启服务器。


问题答案:

转到“管理Jenkins”>“脚本控制台”以在服务器上运行脚本以中断挂起的线程。

您可以获取所有活动线程,Thread.getAllStackTraces()并中断正在挂起的线程。

Thread.getAllStackTraces().keySet().each() {
  t -> if (t.getName()=="YOUR THREAD NAME" ) {   t.interrupt();  }
}

更新:

上述使用线程的解决方案可能无法在最新的Jenkins版本上使用。并运行:

Jenkins.instance.getItemByFullName("JobName")
                .getBuildByNumber(JobNumber)
                .finish(
                        hudson.model.Result.ABORTED,
                        new java.io.IOException("Aborting build")
                );


 类似资料:
  • 我有两份工作。我的主要第一个jenkins项目使用“trigger/call builds on other project”插件触发另一个第二个项目。我的第二个项目是一种服务器,我首先使用触发器和我的主要第一个项目流程启动它。现在我想在我的第一个项目构建完成后停止我的第二个僵尸项目。 我找到了一些参考资料,如下所示:- 如何停止不可阻挡的僵尸工作Jenkins不重启服务器? 但我想停止我的僵尸工

  • 我们的Jenkins服务器有一个已经运行了三天的作业,但是没有做任何事情。单击角落里的小X没有任何作用,控制台输出日志也没有显示任何内容。我已经检查了我们的构建服务器,这个工作实际上似乎根本没有运行。 有没有办法通过编辑一些文件或锁之类的东西来告诉詹金斯这项工作已经“完成”了?因为我们有很多工作,所以我们不想重新启动服务器。

  • 问题内容: 我已经从http://jenkins-ci.org/content/thank-you-downloading-windows- installer 下载了“ jenkins-1.501.zip” 。 我已经解压缩了zip文件,并在Windows 7上成功安装了Jenkins。詹金斯的表现不错。我想从控制台停止Jenkins服务。我怎样才能做到这一点?通过控制台/命令行启动和重新启动的

  • 我已经从以下网站下载了“jenkins-1.501.zip”http://jenkins-ci.org/content/thank-you-downloading-windows-installer . 我已经解压缩了zip文件并成功地在Windows7上安装了Jenkins。詹金斯在好的。我想从控制台停止Jenkins服务。我该怎么做?通过控制台/命令行启动和重新启动的方式是什么?

  • 在“系统偏好设置”中,MySql连接状态只是在绿色和红色之间不断切换。当尝试在终端中开始时,我得到: 加洛夫楼下:~mgarofano$mysqld 2020-06-10T23:32:06.839640Z 0[系统][MY-010116][服务器] /usr/local/mysql-8.0.16-macos10.14-x86_64/bin/mysqld(mysqld 8.0.16)作为进程1353

  • 问题内容: 尝试停止或重新启动Docker容器时,我收到以下错误消息: 但是当我跑步时 我可以看到日志,因此显然容器确实存在。有任何想法吗? 编辑: 抱歉,我忘了提一下: 运行时,我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止并删除容器时,也无法启动并运行要监听同一端口的新应用程序。 问题答案: 看起来像dock