在发布这篇文章之前,我已经研究了几段代码,做了大量测试并寻找答案,所以我希望有人能帮助我解决这个问题。
我能够使用 upstart 脚本手动运行 jar,但它似乎无法在系统启动时正确启动。我检查了 upstart 运行服务,它显示它已启动,但我认为实际的 jar 文件无法正确启动。
请参阅下面的 upstart 脚本。
# /etc/init/test_app.conf
# Task to automatically start the test application service for demo
# dependant on mysql service
author "Simon Pascoe"
description "Run Java License Server"
expect fork
start on started tty1
pre-start script
sleep 15 #wait some time to make sure interfaces have IPs
end script
#Respawn the process if it crashes
#If it respawns more than 10 times in 5 seconds stop
respawn
respawn limit 1000 1
expect fork
script
cd /home/secure/License_Server_Application
java -jar ServerSideLicensing.jar > /var/log/HW-test.log 2>&1
end script
任何帮助都很好
答案1
也许可以尝试使用 muru 的建议,并将start on
节改为runlevel [2345]
vs started tty1
。然后,您可能还可以摆脱启动前的睡眠。