java - 运行 bash 脚本以执行 Java 代码时,日志输出显示在 Jenkins 中

标签 java linux bash shell jenkins

首先让我描述一下我的问题。 我配置了 Jenkins 并在构建操作之后调用了 shell 脚本以在远程服务器上运行 bash 脚本。 shell脚本通过命令启动应用

java -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=xxx 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-XX:+HeapDumpOnOutOfMemoryError -jar name.jar "BUILD_PARAMETER"

我在 Jenkins 构建中看到了我的应用程序的日志,它使构建过程保持运行。我需要在运行后完成它 sh 运行命令。可能吗?

最佳答案

如果您使用 Jenkins 执行此操作,则需要像注释中那样使用 nohup 表示法,并为进程指定一个非数字 PID。 Jenkins 试图在作业完成后通过终止它启动的所有进程来进行清理。

BUILD_ID=dontKillMe nohup <-你的命令 -> &

上面的命令应该可以工作

https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build

关于java - 运行 bash 脚本以执行 Java 代码时,日志输出显示在 Jenkins 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120378/

相关文章:

java - 在 Spring boot 运行时指定 MongoDb 集合名称

bash - 使用 bash 脚本将作业添加到 incrontab

mysql - Bash 脚本 : Save into mysql database

linux - 您多久关闭一次 Linux 系统电源?

python - 在 linux 上使用 python 确定防火墙的存在

git - 与手动运行相比,使用 echo -n 的预提交 Hook 在 git 运行时的行为有所不同

java - 如何使用 AsyncTask 类来更新将文件复制到另一个目录的进度?

java - BoneCP SLF4J ClassNotFoundException

Java通过匿名类强制第三方类上的接口(interface)

linux - 每行搜索一次匹配项