在同一终端上运行应用程序后是否可以运行命令?

在同一终端上运行应用程序后是否可以运行命令?

我需要在运行应用程序后运行命令,但我不确定这是否可能,因为如果我的应用程序正在运行终端运行应用程序。 (我的 Jenkins 管道需要它)

请问你知道是否可以吗?

答案1

当我们有一个应该作为服务运行的应用程序时,这种问题很常见。不过,这种方法存在一些问题。第一个是,您的应用程序还没有准备好作为服务或守护程序运行。这就是为什么现在大多数人将他们的应用程序打包为 Docker 镜像并如此部署的原因。

Jenkins 按照设计会在每个步骤结束后终止其启动的所有进程。如果您不希望出现这种行为,请尝试设置该JENKINS_NODE_COOKIE变量并将其设置为“dontKillMe”。像这样的东西:

sh "export JENKINS_NODE_COOKIE=dontKillMe"
sh "myApp &"

根据您的 Jenkins 版本,可能还需要将该BUILD_ID变量设置为“donKillMe”。

此致。

相关内容