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

Ric*_*son 4 unix ssh jenkins

我正在尝试创建一个Jenkins作业,该作业重新启动一个在我们的某个服务器上一直运行的程序.

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

cd /usr/local/tool && ./tool stop && ./tool start
Run Code Online (Sandbox Code Playgroud)

脚本'工具'包含如下行:

nohup java NameOfClass &
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能使nohup的行为方式与终端相同?

sti*_*sti 7

如果我正确理解了这个问题,Jenkins会在构建结束时终止所有进程,并且你希望在构建完成后继续运行一些进程.

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

从本质上讲,Jenkins在BUILD_ID环境变量中搜索具有一些秘密值的进程.只需覆盖您想要独处的流程.