更新:根据下面的讨论,我编辑了我的答案以获得更准确的描述。
我正在尝试从 jenkins 运行 nohup 命令。完整的命令是
nohup java -jar /home/.../jar/server-process-0.35.jar prod >> /var/../server-process-prod.log 2>&1 &
这个命令不起作用。我可以在 jenkins 中看到状态为成功,但在 linux 中没有 java 进程。当我执行 'ps -ef | grep java'
然而,当我删除最后一个 '&' 时,我将它从在前台而不是后台运行更改为
它开始工作了。我可以看到 java 进程已启动。
如果我在 linux 控制台上运行,原始命令工作正常。
我需要以后台进程的原始形式从 jenkins 运行它。所以它独立于 Jenkins 。
任何线索为什么会发生这种情况?
最佳答案
在你的 jenkins shell 脚本中尝试:
export BUILD_ID=dontKillMe
nohup java -jar your_java_app.jar &
它对我有用!
关于java - 无法从 jenkins 作为后台进程运行 nohup 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37341545/