start.sh- 定义变量: 服务名/部署路径/服务输出日志路径/启动文件路径
- 检查是否启动: 使用 ps /grep/awk命令 配合 | 一起使用 没启动继续下面的
- 后台启动应用: nohup java -jar 命令
#!/bin/bash
#启动服务名称 SERVER_NAME=test #服务部署路径 DEPLOY_DIR=/opt/app/test # 服务日志输出路径 STDOUT_FILE=${DEPLOY_DIR}/logs/test.log #服务启动的jar或war WAR_FILE=${DEPLOY_DIR}/test.jar
PIDS=`ps -f | grep java | grep "${DEPLOY_DIR}" |awk '{print $2}'` if [ -n "$PIDS" ]; then echo ">>> ERROR: The ${SERVER_NAME} already started!" echo ">>> PID: $PIDS" exit 1 fi
#jvm参数配置 JAVA_OPTS="-server -Xmx2g -Xms2g " echo -e ">>> Starting the ${SERVER_NAME} ...\c" nohup java $JAVA_OPTS -jar ${WAR_FILE} > $STDOUT_FILE 2>&1 & COUNT=0 while [ $COUNT -lt 1 ]; do echo -e ".\c" sleep 1 COUNT=`ps -f | grep java | grep "${DEPLOY_DIR}" | awk '{print $2}' | wc -l` if [ $COUNT -gt 0 ]; then break fi done
PIDS=`ps -f | grep java | grep "${DEPLOY_DIR}" | awk '{print $2}'` echo "OK ! -->>> PID: $PIDS -->>> STDOUT: $STDOUT_FILE "
stop.sh- 检查是否启动: 使用 ps /grep/awk命令 配合 | 一起使用 启动继续下面的
#!/bin/bash
#服务部署路径 DEPLOY_DIR=/opt/app/test #停止服务名称 SERVER_NAME=test
PIDS=`ps -ef | grep java | grep "${DEPLOY_DIR}" |awk '{print $2}'` if [ -z "$PIDS" ]; then echo ">>> ERROR: The $SERVER_NAME does not started!" exit 1 fi
echo -e ">>> Stopping the $SERVER_NAME ...\c" for PID in $PIDS ; do kill $PID > /dev/null 2>&1 done
COUNT=0 while [ $COUNT -lt 1 ]; do echo -e ".\c" sleep 1 COUNT=1 for PID in $PIDS ; do PID_EXIST=`ps -f -p $PID | grep java` if [ -n "$PID_EXIST" ]; then COUNT=0 break fi done done
echo "OK! -->>> PID: $PIDS"
|