我正在尝试使用jsvc对我的Java应用程序进行非娱乐化。这是我的剧本
#!/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时,有两件事出错了,而且我怀疑它们是相关的:
Ctrl+C。我做错了什么?
发布于 2010-12-21 16:03:23
我不认为您的启动脚本有什么问题;也许您的服务实现DeamonGameServer中存在问题。尝试用一个简单的Daemon框架实现替换类,看看会发生什么。
另外,请注意jsrv中有一个开放的缺陷:当所有非守护进程线程都死了时,Jsvc不会退出。。
https://stackoverflow.com/questions/4500761
复制相似问题