更新:根据下面的讨论,我编辑了我的回答以获得更准确的描述。
我正在尝试从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。
有任何线索为什么会发生这种情况吗?
&
,你说同样的话是否有效?也就是说,nohup java -jar /home/.../jar/server-process-0.35.jar prod >> /var/../server-process-prod.log 2>&1
。 - fedorqui&
以便Jenkins能够正确解释它。 - fedorqui