0

我第一次尝试设置/配置 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  
4

1 回答 1

1
java -Dgosh.args=--nointeractive -jar server-allinone.jar

将禁用本地 shell。

于 2014-08-31T21:27:06.963 回答