启动命令
#!/bin/bash
# 读取执行文件的路径
cd `dirname $0`
# 路径赋值给 app_home
APP_HOME=`pwd`
# 查找 jar 包
APP_NAME="`cd ${APP_HOME} && find -name '*.jar' -maxdepth 1`"
# 输出路径, 通过管道传给 awk 函数分析, -F以/为分隔符分割, NF 表示分割完的下角标, $NF 获取第 NF 个结果
JAR_HOME=`pwd |awk -F"/" '{print $NF}'`
# java 启动参数
JAVA_OPTS="-Xms256m -Xmx2048m "
PIDFILE=service.pid
# 如果存在进程文件, 则表示已经在运行, 否则才执行启动命令
if [ -f "$PIDFILE" ]; then
echo "Service is already start ..."
else
echo "Service start ..."
# nohup 后台启动
nohup $JAVA_HOME/bin/java -jar -Dloader.path=lib -Dspring.cloud.config.profile=dev -Dspring.cloud.config.label=fcdev $JAVA_OPTS ${APP_NAME} --eureka.client.serviceUrl.defaultZone=http://admin:lesoft@localhost:2500/eureka/ >${JAR_HOME}.log 2>&1 &
printf '%d' $! > $PIDFILE
echo "Service start SUCCESS "
fi
`pwd |awk -F"/" '{print $NF}'` 函数示例说明:
停止命令
#!/bin/sh
cd `dirname $0`
PIDFILE=service.pid
if [ -e "$PIDFILE" ]; then
kill -9 `cat $PIDFILE`
rm -rf $PIDFILE
echo "Service is stop SUCCESS!"
else
echo "Service is already stop ..."
fi