我几乎每篇SO和Google文章都试图让这种情况发生,但Java应用程序仍然没有启动!
我在系统日志中收到一条消息,说出它的启动FXC-API'但Java实际上并没有运行。
这是我的启动脚本。
#! /bin/sh
### BEGIN INIT INFO
# Provides: fxc-api
# Required-Start: $syslog exim4
# Required-Stop: $syslog
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and Stop
# Description:
### END INIT INFO
case "$1" in
start)
logger Starting FXC-API
sh /opt/fix/fttglobal/1.0/start.sh
;;
stop)
logger Stopping FXC-API
sh /opt/fix/fttglobal/1.0/stop.sh
;;
*)
echo "Usage: /etc/init.d/fxc-api {start|stop}"
exit 1
;;
esac
exit 0
如果我手动运行,即service fxc-api start
,那么它就没有问题。
start.sh脚本如下所示
#! /bin/sh
cd "$(dirname "$0")"
java -classpath ".:./libs/*" MainController &
答案 0 :(得分:0)
解决了问题,我在/etc/init.d
以上的case
脚本中遗漏了以下内容
# Java path
JAVA_HOME=/usr/lib/java/jre
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
注意:像这样运行java
java -classpath ".:./libs/*" MainController > ./logs/log.txt 2> ./logs/errors.txt < /dev/null &