一尘不染

在通过ssh启动的脚本中,Jenkins似乎是nohup的目标,我该如何防止呢?

jenkins

我正在尝试创建一个Jenkins作业,该作业将重新启动始终在我们的一台服务器上运行的程序。

我指定以下作为要运行的命令:

cd /usr/local/tool && ./tool stop && ./tool start

脚本“工具”包含如下一行:

nohup java NameOfClass &

该命令的输出在我的构建控制台中而不是在nohup.out中结束,因此该作业永远不会终止,除非我手动终止它,这会终止程序。

如何使nohup的行为与从终端执行的行为相同?


阅读 485

收藏
2020-07-25

共1个答案

一尘不染

如果我对问题的理解正确,则Jenkins将在构建结束时终止所有进程,并且您希望在构建完成后保留某些进程运行。

您应该阅读https://wiki.jenkins-
ci.org/display/JENKINS/ProcessTreeKiller

本质上,Jenkins在BUILD_ID环境变量中搜索具有某些秘密值的进程。只需为要单独处理的进程覆盖它即可。

2020-07-25