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

本文解决了一个常见问题:远程执行包含java-jar命令的Shell脚本时,出现nohup:failedtoruncommand`java':Nosuchfileordirectory错误。即使已正确安装JDK并配置JAVA_HOME环境变量,此错误仍可能因Shell脚本执行环境与预期不符而发生。文章详细介绍了如何通过在Shell命令前添加source/etc/profile来确保环境变量被正确加载,从而解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

程序里远程执行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 ...

然后成功测试通过!!!

 

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值