我试图使用Apache Commons守护程序守护程序使用Daemon接口。它自己的Java应用程序没有做任何事情,只是写入黑体。使用JSVC守护java应用程序
我编的jsvc:http://people.apache.org/~mturk/daemon-1.0.10/
(甚至试图最新版本:http://people.apache.org/~mturk/daemon-1.0.12/)
,并写了这个基本的脚本。
do_exec()
{
$EXEC \
-home "$JAVA_HOME" \
-cp $CLASS_PATH \
-outfile $LOG_OUT \
-errfile $LOG_ERR \
-pidfile $PID \
$1 \
$MAIN_CLASS
echo "result: $?"
}
case "$1" in
start)
do_exec
;;
stop)
do_exec "-stop"
;;
restart)
do_exec "-stop"
do_exec
;;
*)
echo "usage: daemon {start|stop|restart}" >&2
exit 3
;;
esac
现在,当我试图停止守护进程时,它没有运行我会得到响应码255 THAS太棒了。
但是当我尝试启动时,它已经在运行,我得到响应码0。但在我ERRFILE我找出守护:
Still running according to PID file /tmp/deamon.pid, PID is 1799
Service exit with a return value of 122
当我尝试在开始抛出异常
同样的事情()方法,并尝试启动守护进程,响应代码为0.但errfile:
Service exit with a return value of 5
我在这里失踪了什么?我怎么能告诉用户stat deamon没有启动或者它已经在运行?
这个脚本是一个windows批处理文件,是吗? – Coffee