56 lines
1.7 KiB
Bash
56 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# 启动入口类,该脚本文件用于别的项目时要改这里
|
|
MAIN_CLASS=com.lxyer.config.FlyConfig
|
|
|
|
COMMAND="$1"
|
|
|
|
if [[ "$COMMAND" != "start" ]] && [[ "$COMMAND" != "stop" ]] && [[ "$COMMAND" != "restart" ]]; then
|
|
echo "Usage: $0 start | stop | restart"
|
|
exit 0
|
|
fi
|
|
|
|
|
|
# Java 命令行参数,根据需要开启下面的配置,改成自己需要的,注意等号前后不能有空格
|
|
# JAVA_OPTS="-Xms256m -Xmx1024m -Dundertow.port=80 -Dundertow.host=0.0.0.0"
|
|
# JAVA_OPTS="-Dundertow.port=80 -Dundertow.host=0.0.0.0"
|
|
|
|
# 生成 class path 值
|
|
APP_BASE_PATH=$(cd `dirname $0`; pwd)
|
|
CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
|
|
|
|
function start()
|
|
{
|
|
# 运行为后台进程,并在控制台输出信息
|
|
java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
|
|
|
|
# 运行为后台进程,并且不在控制台输出信息
|
|
# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &
|
|
|
|
# 运行为后台进程,并且将信息输出到 output.log 文件
|
|
# nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log &
|
|
|
|
# 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务
|
|
# java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
|
|
}
|
|
|
|
function stop()
|
|
{
|
|
# 支持集群部署
|
|
kill `pgrep -f ${APP_BASE_PATH}` 2>/dev/null
|
|
|
|
# kill 命令不使用 -9 参数时,会回调 onStop() 方法,确定不需要此回调建议使用 -9 参数
|
|
# kill `pgrep -f ${MAIN_CLASS}` 2>/dev/null
|
|
|
|
# 以下代码与上述代码等价
|
|
# kill $(pgrep -f ${MAIN_CLASS}) 2>/dev/null
|
|
}
|
|
|
|
if [[ "$COMMAND" == "start" ]]; then
|
|
start
|
|
elif [[ "$COMMAND" == "stop" ]]; then
|
|
stop
|
|
else
|
|
stop
|
|
start
|
|
fi |