问题的上下文:
因为生产没法使用 jenkins 发布,因此采用 ch.ethz.ssh2 或叫 ganymed-ssh2 的开源 java 的 ssh api 进行远程发布。
在发起重启时,远程执行 nohup 命令:java
nohup java -jar taiping-$project-3.jar --spring.profiles.active=prod >> nohup.out &
发现代码执行了,可是项目并无实际启动。spring
网上说是 ganymed-ssh2 不能使用 nohup命令,这是有误导的。问题本质是ganymed-ssh2 远程方式登录 ssh, 在执行以上命令时 java -jar 命令系统不认。api
解决办法,使用绝对路径:ssh
nohup /home/loginuser/java/jdk1.8.0_131/bin/java -jar taiping-$project-3.jar --spring.profiles.active=prod >> nohup.out &