我試圖使用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