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命令的主要内容,如果未能解决你的问题,请参考以下文章

解决了, 关闭putty后无法在后台运行,后台程序也退出

Jenkins 管道 sh 在 Windows 上因“无法运行程序 nohup”而失败

Linux处理启动程序后,程序占用控制台,处理程序后台运行nohup

linux下怎么执行.jar程序

linux环境下nohup的执行jar

如何用命令行解决可执行文件的权限问题