Java程序远程无法执行nohup命令
Posted xiluhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序远程无法执行nohup命令相关的知识,希望对你有一定的参考价值。
问题的上下文:
由于生产无法使用 jenkins 发布,所以采用 ch.ethz.ssh2 或叫 ganymed-ssh2 的开源 java 的 ssh api 进行远程发布。
在发起重启时,远程执行 nohup 命令:
nohup java -jar taiping-$project-3.jar --spring.profiles.active=prod >> nohup.out &
发现代码执行了,但是项目并没有实际启动。
网上说是 ganymed-ssh2 不能使用 nohup命令,这是有误导的。问题本质是ganymed-ssh2 远程方式登陆 ssh, 在执行以上命令时 java -jar 命令系统不认。
解决办法,使用绝对路径:
nohup /home/loginuser/java/jdk1.8.0_131/bin/java -jar taiping-$project-3.jar --spring.profiles.active=prod >> nohup.out &
以上是关于Java程序远程无法执行nohup命令的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins 管道 sh 在 Windows 上因“无法运行程序 nohup”而失败