linux 编写启动 停止jar 的 shell脚本

版权声明:博客原创,转载须标明出处 https://blog.csdn.net/qq_24232123/article/details/82692212

首先用 java -version 查看一下是否安装好了JDK,如果没有需要先安装JDK
点击此处进入 linux装JDK的步骤

脚本存放目录结构
这里写图片描述
注:脚本存放在bin文件下,jar存放在lib下 输入命令时不需要带上项目路径,直接用项目名即可
注:linux执行脚本的编码格式为nuix格式
注:如若想附加权限执行,可使用命令# chmod u+x start.sh 、# chmod u+x shutdown.sh

1:启动脚本 文件名[start.sh]

#!/bin/bash
cd `dirname $0`
cd ../lib
LIB_DIR=`pwd`


SERVER_NAME=`ls |grep "$1"`
JAR_NAME=$LIB_DIR"/"$SERVER_NAME
 
PIDS=`ps -ef | grep java | grep "$LIB_DIR" |grep $SERVER_NAME|awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "start fail! The $SERVER_NAME already started!"
    exit 1
fi

cd ..

nohup java -jar -Djava.net.preferIPv4Stack=true -Xms512m -Xmx512m $JAR_NAME >/dev/null & 

echo "start "$SERVER_NAME" success!"

2:停止脚本 文件名[shutdown.sh]
#!/bin/bash
PWD=`pwd`
cd `dirname $0`
cd ../lib
LIB_DIR=`pwd`

SERVER_NAME=`ls |grep "$1"`

PIDS=`ps -ef | grep java | grep "$LIB_DIR" |grep $SERVER_NAME|awk '{print $2}'`
if [ -z "$PIDS" ]; then
    echo "stop fail! The $SERVER_NAME not start!"
    exit 1
fi

for PID in $PIDS ;
do
    kill $PID > /dev/null 2>&1
done
echo "stop success! pid:"$PIDS
cd $PWD

猜你喜欢

转载自blog.csdn.net/qq_24232123/article/details/82692212