栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ssh连接远端服务器无法使用nohup命令启动jar包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ssh连接远端服务器无法使用nohup命令启动jar包

在工作中有这样的需求:需要使用web页面展示项目组所有的测试环境的服务信息和状态,并且根据状态进行启动或停止。

后台的java实现是用ssh连接远端的服务器,ChannelExec 执行linux command. 但是实际操作中发现启动jar包的命令 :nohup java -jar /xxx.jar 执行后远端机器没有反应,参考资料加了重定向也不行。
后面尝试发现,其实是没有权限获取远端机器的环境变量,无法执行java命令,和nohup没有关系。
解决办法是 nohup /java的安装目录/bin/java -jar xxxx.jar

具体ssh的命令如下:

ssh -i /xxxx指定公钥地址 user@host “nohup /xxxjavahome/bin/java  /xxxjarhome > /dev/null 2> &1 &”

/dev/null 2>&1 & 这个是nohup的人重定向,> /dev/null 意思是把日志输出到指定的/dev/null,/dev/null是linux机器都存在的目录,指定到这个目录的意思是不需要输出,也可以替换/dev/null为你想要的log文件。2>&1 意思是将标准错误2重定向到标准输出&1,标准输出再定向到/dev/null

如果java home目录不可知或者不便指定时,可以用如下命令:

ssh user@host < nohup java -jar xxxx.jar
> EOF

注意这是三行命令噢

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号