程序里远程执行shell命令(nohup java -jar ...)的执行,后台日志报错如下:

nohup: failed to run command `java': No such file or directory

原因:一般来说这个报错说明服务器执行不了"java"这个命令

解决:

1、检查执行该shell的服务器有没有装jdk

2、检查执行该shell的服务器的环境变量有没有将JAVA_HOME/bin加入(目的是可以在linux任意位置执行java命令)

-----------------------------------------------------------------------------------------------------------------------------------------

坑的是:我检查了linux环境,java安装正确,环境变量也加了,把shell命令拿到远程服务器用户下任意目录执行也正常!!但是通过程序远程调用该shell命令还是报如上错误

无奈我在程序里执行 nohup java -jar ... 命令前,先执行了一把 source /etc/profile , 执行shell命令如下:

source /etc/profile; nohup java -jar ...

然后成功测试通过!!!

 

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐