gpt4 book ai didi

java - SSH命令无法启动远程java进程

转载 作者:行者123 更新时间:2023-12-01 04:47:15 26 4
gpt4 key购买 nike

我有一个 start 函数,我把它放在驻留在远程站点上的脚本中,该函数的代码如下所示。

function start() {
cd $install_dir

mkdir -p logs

export classpath=$classpath:$target_jar
nohup java -Xms2048m -Xmx8192m -server -XX:PermSize=128m -XX:MaxPermSize=256m \
-XX:+PrintGCDetails -XX:+PrintGCDateStamps \
-XX:-OmitStackTraceInFastThrow \
-cp $target_jar $main_class >> logs/jvm.log 2>&1 &

echo "Service started, see logs"
}

当我尝试使用 ssh 调用该函数 ssh xxx@host "./service.sh start" 时,我无法启动 java 进程,我只收到响应消息“服务已启动” ,查看日志”并且没有错误,jvm.log 也是空的。对我来说,显然我的脚本已经执行,但目标 java 进程没有运行。

如果我登录到该远程站点,并执行 ./service.sh start,它就会起作用。

最佳答案

由于您能够手动运行该服务,因此 ssh 和脚本部分没问题。

可能出问题的是环境。例如,您引用 java 时没有绝对路径。因此您可能正在运行它的不同版本。用于加载共享库的变量 (LD_LIBRARY_PATH) 也可能具有不同的值。

最后检查文件权限

关于java - SSH命令无法启动远程java进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15630230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com