我第一次尝试设置/配置 Apache ACE。似乎我的一切运行正常,但我希望在 Linux 机器启动时自动启动 ACE。我在下面创建了 init.d 脚本,它确实启动了 ACE,但是它让我进入了 OSGI 控制台,当我离开控制台时,ACE 会关闭。有没有办法在没有 OSGI 控制台的情况下启动 ACE,这样我就不必保持会话打开来保持 ACE 运行?
#! /bin/bash
BIN_DIR=/opt/ace-current/server-allinone
PATH=/bin:/usr/bin:/sbin:/usr/sbin
JAVA_HOME=/usr/lib/jvm/default-java
if [ `id -u` -ne 0 ]; then
echo "You need root privileges to run this script"
exit 1
fi
. /lib/lsb/init-functions
if [ -r /etc/default/rcS ]; then
. /etc/default/rcS
fi
case $1 in
start)
cd $BIN_DIR
java -Dorg.apache.ace.server=localhost:11868 -Dorg.osgi.service.http.port=11868 -Dorg.apache.ace.obr=localhost:11868 -jar server-allinone.jar
;;
stop)
pid=`ps aux | grep server-allinone | awk '{print $2}'`
kill -9 $pid
;;
restart)
$0 stop
$0 start
;;
esac
exit 0