46 lines
1.5 KiB
Bash
46 lines
1.5 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
MAIN_CLASS=cc.uling.web.YCPayApplication
|
|||
|
|
COMMAND="$1"
|
|||
|
|
|
|||
|
|
if [[ "$COMMAND" != "start" ]] && [[ "$COMMAND" != "stop" ]] && [[ "$COMMAND" != "restart" ]]; then
|
|||
|
|
COMMAND="restart"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 生成 class path 值
|
|||
|
|
APP_BASE_PATH=$(cd `dirname $0`; pwd)
|
|||
|
|
CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
|
|||
|
|
|
|||
|
|
function start()
|
|||
|
|
{
|
|||
|
|
# 运行为后台进程,并在控制台输出信息
|
|||
|
|
# java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
|
|||
|
|
|
|||
|
|
# 运行为后台进程,并且不在控制台输出信息
|
|||
|
|
# nohup java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &
|
|||
|
|
|
|||
|
|
# 运行为后台进程,并且将信息输出到 output.log 文件
|
|||
|
|
nohup java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >> output.log 2>&1 &
|
|||
|
|
#tail -f /dev/null
|
|||
|
|
|
|||
|
|
# 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务
|
|||
|
|
# 当以此方式在Docker下启动时,由于是后台进程,无前台进程,Docker容器启动后会马上退出,
|
|||
|
|
# 需加命令tail -f /dev/null,就可以保持你的容器一直在前台运行
|
|||
|
|
# 或者使用以下的非后台进程运行
|
|||
|
|
# java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function stop()
|
|||
|
|
{
|
|||
|
|
kill `pgrep -f ${APP_BASE_PATH}` 2>/dev/null
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if [[ "$COMMAND" == "start" ]]; then
|
|||
|
|
start
|
|||
|
|
elif [[ "$COMMAND" == "stop" ]]; then
|
|||
|
|
stop
|
|||
|
|
else
|
|||
|
|
stop
|
|||
|
|
start
|
|||
|
|
fi
|