如何通过 SSH 连接到启动 bash 脚本并启动 java 进程的服务器,然后在不终止脚本的情况下断开与服务器的连接?

How do I SSH to a server starting a bash script that starts a java process, then disconnect from the server without killing the script?

到目前为止(不工作)我的电话是这样的:

ssh -tt -q ${SERVER} "sudo su -l ${USER} -c nohup ${SCRIPT_DIR}/Script.sh start < /dev/null >/dev/null 2>&1 &"

脚本的内容是这样的:

case "" in
'start')
        echo 'Starting server.'
        $JAVA_HOME/java -Xmx1024m -jar myJarFile.jar &
        echo $!>$PID_FILE
        ;;
'stop')
        kill ${cat $PID_FILE}
        ;;
*)
        echo "Usage: [=12=] {start | stop}"
        exit 1
        ;;
esac
exit 0

停止端有效(略有不同,但开始也不会那样工作。我猜它有效,因为它只是一个快速的杀戮)。我在等式的两边都用过无数种不同的方法。谁能指引我正确的方向?

谢谢, 埃里克

没有接受者,我想我会把它移到一个服务上,这样它就有了自己的 shell...