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 &

 

posted @ 2019-06-19 16:11  xiluhua  阅读(2929)  评论(0编辑  收藏  举报