新建一个sh脚本,复制进去,里面的APP_NAME,/home/springboot/fabric-gateway/,-Xms1024m -Xmx1024m改成自己需要的
#! /bin/sh
. $HOME/.bash_profile
. /etc/profile
. ~/.bash_profile
APP_NAME=fabric-gateway-1.0.0-SNAPSHOT
JAR_NAME=$APP_NAME.jar
A=`ps -ef|grep $JAR_NAME |grep -v grep|grep -v gcc | wc -l`
echo $A
if [ $A == 0 ];then
sleep 1
echo $JAR_NAME " not run!"
nohup java -Xms1024m -Xmx1024m -jar /home/springboot/fabric-gateway/$JAR_NAME >/dev/null 2>/dev/null &
echo $JAR_NAME " start ok"
date >> /home/shellJob/logs/start.log
echo $JAR_NAME " ok" >> /home/shellJob/logs/start.log
else
echo $JAR_NAME "process exits start kill。。。" $JAR_NAME
ps -ef | grep $APP_NAME | grep -v grep |awk '{print $2}' |xargs kill -9
echo $APP_NAME "stop success"
nohup java -Xms1024m -Xmx1024m -jar /home/springboot/fabric-gateway/$JAR_NAME >/dev/null 2>/dev/null &
echo $JAR_NAME " start ok"
date >> /home/shellJob/logs/start.log
echo $JAR_NAME " ok" >> /home/shellJob/logs/start.log
fi
简约版
#!/bin/bash
# jar包名
APP_NAME="my-service-1.0.0-SNAPSHOT"
JAR_NAME="$APP_NAME.jar"
A=$(ps -ef | grep "$JAR_NAME" | grep -v grep | grep -v gcc | wc -l)
echo "$A"
if [ "$A" -eq 0 ]; then
sleep 1
echo "$JAR_NAME not run!"
nohup java -jar "$JAR_NAME" >/dev/null 2>&1 &
echo "启动命令nohup java -jar $JAR_NAME >/dev/null 2>&1 &"
echo "$JAR_NAME start ok"
echo "$JAR_NAME ok"
else
echo "Process $JAR_NAME exists. Starting the kill process..."
# 使用pgrep找到进程ID,替换 ps -ef | grep ... | awk ...
pkill -f "$APP_NAME"
echo "$APP_NAME stop success"
nohup java -jar "$JAR_NAME" >/dev/null 2>&1 &
echo "启动命令nohup java -jar $JAR_NAME >/dev/null 2>&1 &"
echo "$JAR_NAME start ok"
echo "$JAR_NAME ok"
fi