SSH命令无法启动远程java进程
我有一个SSH命令无法启动远程java进程,java,ssh,Java,Ssh,我有一个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:+PrintGCDetai
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"
}
当我试图调用该函数时,请使用sshsshxxx@host“/service.sh start”
,我无法启动java进程,我只收到响应消息“service started,see logs”,没有错误,jvm.log也是空的。显然,我的脚本已经执行,但目标java进程没有运行
如果我登录到那个远程站点,并执行
/service.sh start
,它就会工作。因为您可以手动运行服务,ssh和脚本部分就可以了
可能出问题的是环境。例如,您提到的java没有绝对路径。因此,您可能正在运行它的不同版本。共享库加载的变量(LD_library_PATH)也可能具有不同的值
最后检查文件权限