我正在尝试将Java应用程序部署到VPS。我正在使用带有“应用程序”插件的Gradle构建系统。我希望该应用程序从服务器启动。

在部署过程中,我运行./gradlew install来准备运行脚本。直接运行时,它们可以正常工作。

我使用http://www.whiteboardcoder.com/2014/02/ubuntu-upstart-job-with-java-jar.html作为新贵配置的基础:

description "the test server"
start on runlevel [2345]
stop on runlevel [!2345]

expect fork

script
   cd /opt/testserver/
   exec ./build/install/testserver/bin/testserver
end script

但是运行start testserver后,新贵报告的PID与使用ps发现的PID不同。我的猜测是这样做的原因是生成脚本的最后一行:
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" mypackage.TestServer"$@"
结果,Upstart无法停止该应用程序。有没有办法让新贵看到正确的PID?

最佳答案

好吧,这里似乎没有分支,因此您应该尝试删除expect fork位。

07-24 09:49