JSVC initscript не завершается - PullRequest
1 голос
/ 21 декабря 2010

Я пытаюсь деамонизировать свое Java-приложение, используя jsvc .Это мой начальный текст

#!/bin/sh

# CONFIG
JSVC=/opt/jsvc/jsvc
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
USER=gserv
ARGS=none
# END CONFIG

PIDFILE=/var/run/silvercar-gameserver.pid
LOGDIR=/var/log/silvercar-gameserver

case "$1" in
        start)
                export JAVA_HOME
                cd `dirname $0`
                $JSVC -jvm server -pidfile $PIDFILE -user $USER -outfile $LOGDIR/stdout -errfile $LOGDIR/stderr \
                         -cp `cat classpath` tr.silvercar.gameserver.runner.DeamonGameServer $ARGS
                ;;
        stop)
                $JSVC -stop -pidfile $PIDFILE
                ;;
esac

exit 0

Когда я запускаю ./thisscript.sh start от имени root, две вещи идут не так, и я подозреваю, что они связаны:

  • Приложение запускается, но выводитсявместо сохраненного в указанном файле отображается
  • Сценарий не завершается, но блокируется, пока я не нажму Ctrl+C.

Что я делаю не так?

1 Ответ

0 голосов
/ 21 декабря 2010

Я не вижу ничего плохого в вашем скрипте запуска; возможно, есть проблема в реализации вашего сервиса DeamonGameServer. Попробуйте заменить ваш класс простой реализацией Daemon и посмотрите, что произойдет.

Также обратите внимание, что в jsrv есть открытый дефект: Jsvc не завершается, когда все потоки, не являющиеся демонами, не работают .

...